name: Windows on: push: branches: - "*" tags: - "*" pull_request: branches: - "*" jobs: build: name: Build OpenStarbound Windows x64 runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 with: submodules: 'recursive' - name: Hire a Ninja run: | choco install ninja ninja.exe --version - name: sccache uses: hendrikmuhs/ccache-action@v1.2 with: variant: sccache key: ${{ github.job }}-${{ runner.os }} max-size: 2500M - uses: ilammy/msvc-dev-cmd@v1 - name: vcpkg uses: lukka/run-vcpkg@v11 id: runvcpkg with: vcpkgJsonGlob: '**/source/vcpkg.json' vcpkgConfigurationJsonGlob: '**/source/vcpkg-configuration.json' - name: Run CMake uses: lukka/run-cmake@v10 with: cmakeListsTxtPath: '${{ github.workspace }}/source/CMakeLists.txt' configurePreset: 'windows-release' buildPreset: 'windows-release' testPreset: 'windows-release' - name: Run Post-Build Task working-directory: ${{ github.workspace }} run: scripts\ci\windows\post_build.bat - name: Assemble Files working-directory: ${{ github.workspace }} run: scripts\ci\windows\assemble.bat - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: OpenStarbound-Windows path: dist/* - name: Upload Client uses: actions/upload-artifact@v4 with: name: OpenStarbound-Windows-Client path: client_distribution/* - name: Upload Server uses: actions/upload-artifact@v4 with: name: OpenStarbound-Windows-Server path: server_distribution/* - name: Create Installer working-directory: ${{ github.workspace }} run: | & "C:\Program Files (x86)\Inno Setup 6\iscc.exe" /Oinstaller scripts\inno\setup.iss - name: Upload Installer uses: actions/upload-artifact@v4 with: name: Installer path: installer/*