name: 🏁 Windows Builds on: workflow_call: # Global Settings # SCONS_CACHE for windows must be set in the build environment env: # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: 3.x SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no SCONS_CACHE_MSVC_CONFIG: true concurrency: group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-windows cancel-in-progress: true jobs: build-windows: # Windows 10 with latest image runs-on: "windows-latest" name: ${{ matrix.name }} strategy: fail-fast: false matrix: include: - name: Editor (target=release_debug, tools=yes) cache-name: windows-editor target: release_debug tools: true bin: "./bin/godot.windows.opt.tools.64.exe" - name: Template (target=release, tools=no) cache-name: windows-template target: release tools: false steps: - uses: actions/checkout@v4 - name: Restore Godot build cache uses: ./.github/actions/godot-cache-restore with: cache-name: ${{ matrix.cache-name }} continue-on-error: true - name: Setup python and scons uses: ./.github/actions/godot-deps - name: Setup MSVC problem matcher uses: ammaraskar/msvc-problem-matcher@master - name: Compilation uses: ./.github/actions/godot-build with: sconsflags: ${{ env.SCONSFLAGS }} platform: windows target: ${{ matrix.target }} tools: ${{ matrix.tools }} - name: Save Godot build cache uses: ./.github/actions/godot-cache-save with: cache-name: ${{ matrix.cache-name }} continue-on-error: true - name: Prepare artifact run: | Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force - name: Upload artifact uses: ./.github/actions/upload-artifact with: name: ${{ matrix.cache-name }}