macos_builds.yml 1.8 KB

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