CI macOS #11284
This file contains hidden or 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
| # https://help.github.com/en/articles/workflow-syntax-for-github-actions | |
| name: CI macOS | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| branches: | |
| - "**" | |
| schedule: | |
| - cron: "0 2 * * 0,3" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name != 'schedule' && github.ref != 'refs/heads/main' }} | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| code: ${{ steps.filter.outputs.code }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| code: | |
| - '**' | |
| - '!.github/workflows/cache_*.yml' | |
| - '!docker/dev/**' | |
| - '!docs/**' | |
| - '!.readthedocs.yml' | |
| - '!tutorials/**' | |
| - '!**/*.md' | |
| - '!**/*.rst' | |
| - '!**/*.po' | |
| - '!**/*.pot' | |
| build-release: | |
| needs: changes | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || needs.changes.outputs.code == 'true' | |
| name: Release Tests (arm64) | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup pixi (CI) | |
| uses: ./.github/actions/setup-pixi-ci | |
| with: | |
| # Avoid cache key generation failures on macOS self-hosted runners | |
| cache: false | |
| pixi-bin-path: ${{ runner.temp }}/pixi/bin/pixi | |
| sccache-continue-on-error: true | |
| - name: Configure environment for compiler cache | |
| uses: ./.github/actions/configure-compiler-cache | |
| # Lint checks are now centralized to Ubuntu Release build only | |
| # See ci_ubuntu.yml for the single source of lint validation | |
| - name: Test DART and dartpy | |
| run: | | |
| DART_VERBOSE=ON \ | |
| BUILD_TYPE=Release \ | |
| DART_BUILD_SIMULATION_EXPERIMENTAL_OVERRIDE=OFF \ | |
| pixi run test-all | |
| - name: Install | |
| run: | | |
| DART_VERBOSE=ON \ | |
| BUILD_TYPE=Release \ | |
| pixi run install | |
| build-debug: | |
| needs: changes | |
| if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || needs.changes.outputs.code == 'true' | |
| name: Debug Tests (arm64) | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup pixi (CI) | |
| uses: ./.github/actions/setup-pixi-ci | |
| with: | |
| # Avoid cache key generation failures on macOS self-hosted runners | |
| cache: false | |
| pixi-bin-path: ${{ runner.temp }}/pixi/bin/pixi | |
| sccache-continue-on-error: true | |
| - name: Configure environment for compiler cache | |
| uses: ./.github/actions/configure-compiler-cache | |
| - name: Test DART and dartpy | |
| run: | | |
| DART_VERBOSE=ON \ | |
| BUILD_TYPE=Debug \ | |
| DART_BUILD_SIMULATION_EXPERIMENTAL_OVERRIDE=OFF \ | |
| pixi run test-all |