🏁 Windows Builds #23
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🏁 Windows Builds | |
on: [push, pull_request] | |
# 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: master | |
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes | |
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=editor, tests=yes) | |
cache-name: windows-editor | |
target: editor | |
tests: true | |
# Skip debug symbols, they're way too big with MSVC. | |
sconsflags: debug_symbols=no vsproj=yes | |
bin: "./bin/godot.windows.editor.x86_64.exe" | |
- name: Template (target=template_release, tools=no) | |
cache-name: windows-template | |
target: template_release | |
tests: false | |
sconsflags: debug_symbols=no | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Godot build cache | |
uses: ./.github/actions/godot-cache | |
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 }} ${{ matrix.sconsflags }} | |
platform: windows | |
target: ${{ matrix.target }} | |
tests: ${{ matrix.tests }} | |
# Execute unit tests for the editor | |
- name: Unit tests | |
if: ${{ matrix.tests }} | |
run: | | |
${{ matrix.bin }} --version | |
${{ matrix.bin }} --help | |
${{ matrix.bin }} --test | |
- 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 }} |