windows_builds.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. name: 🏁 Windows Builds
  2. on:
  3. workflow_call:
  4. # Global Settings
  5. # SCONS_CACHE for windows must be set in the build environment
  6. env:
  7. # Only used for the cache key. Increment version to force clean build.
  8. GODOT_BASE_BRANCH: 3.2
  9. SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no
  10. SCONS_CACHE_MSVC_CONFIG: true
  11. concurrency:
  12. group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-windows
  13. cancel-in-progress: true
  14. jobs:
  15. build-windows:
  16. # Windows 10 with latest image
  17. runs-on: "windows-latest"
  18. name: ${{ matrix.name }}
  19. strategy:
  20. fail-fast: false
  21. matrix:
  22. include:
  23. - name: Editor (target=release_debug, tools=yes)
  24. cache-name: windows-editor
  25. target: release_debug
  26. tools: true
  27. bin: "./bin/godot.windows.opt.tools.64.exe"
  28. - name: Template (target=release, tools=no)
  29. cache-name: windows-template
  30. target: release
  31. tools: false
  32. steps:
  33. - uses: actions/checkout@v4
  34. - name: Restore Godot build cache
  35. uses: ./.github/actions/godot-cache-restore
  36. with:
  37. cache-name: ${{ matrix.cache-name }}
  38. continue-on-error: true
  39. - name: Setup python and scons
  40. uses: ./.github/actions/godot-deps
  41. - name: Setup MSVC problem matcher
  42. uses: ammaraskar/msvc-problem-matcher@master
  43. - name: Compilation
  44. uses: ./.github/actions/godot-build
  45. with:
  46. sconsflags: ${{ env.SCONSFLAGS }}
  47. platform: windows
  48. target: ${{ matrix.target }}
  49. tools: ${{ matrix.tools }}
  50. - name: Save Godot build cache
  51. uses: ./.github/actions/godot-cache-save
  52. with:
  53. cache-name: ${{ matrix.cache-name }}
  54. continue-on-error: true
  55. - name: Prepare artifact
  56. run: |
  57. Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
  58. - name: Upload artifact
  59. uses: ./.github/actions/upload-artifact
  60. with:
  61. name: ${{ matrix.cache-name }}