macos_builds.yml 2.0 KB

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