name: 🍎 macOS Builds on: [push, pull_request] # Global Settings env: # Only used for the cache key. Increment version to force clean build. GODOT_BASE_BRANCH: master-v3 SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes use_volk=yes concurrency: group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-macos cancel-in-progress: true jobs: build-macos: runs-on: "macos-latest" name: ${{ matrix.name }} strategy: fail-fast: false matrix: include: - name: Editor (target=release_debug, tools=yes, tests=yes) cache-name: macos-editor target: release_debug tools: true tests: true bin: "./bin/godot.macos.opt.tools.64" - name: Template (target=release, tools=no) cache-name: macos-template target: release tools: false tests: false sconsflags: debug_symbols=no steps: - uses: actions/checkout@v2 - 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: Compilation uses: ./.github/actions/godot-build with: sconsflags: ${{ env.SCONSFLAGS }} platform: macos target: ${{ matrix.target }} tools: ${{ matrix.tools }} 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: | strip bin/godot.* - name: Upload artifact uses: ./.github/actions/upload-artifact with: name: ${{ matrix.cache-name }}