| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -286,15 +286,38 @@ jobs: | |||
| 286 | 286 | arch: ${{ matrix.arch }} | |
| 287 | 287 | ||
| 288 | 288 | build_macos: | |
| 289 | - name: 'macOS' | ||
| 289 | + name: >- | ||
| 290 | + macOS | ||
| 291 | + ${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }} | ||
| 290 | 292 | needs: check_source | |
| 291 | 293 | if: needs.check_source.outputs.run_tests == 'true' | |
| 294 | + strategy: | ||
| 295 | + fail-fast: false | ||
| 296 | + matrix: | ||
| 297 | + # Cirrus and macos-14 are M1, macos-13 is default GHA Intel. | ||
| 298 | + # macOS 13 only runs tests against the GIL-enabled CPython. | ||
| 299 | + # Cirrus used for upstream, macos-14 for forks. | ||
| 300 | + os: | ||
| 301 | + - ghcr.io/cirruslabs/macos-runner:sonoma | ||
| 302 | + - macos-14 | ||
| 303 | + - macos-13 | ||
| 304 | + is-fork: # only used for the exclusion trick | ||
| 305 | + - ${{ github.repository_owner != 'python' }} | ||
| 306 | + free-threading: | ||
| 307 | + - false | ||
| 308 | + # - true | ||
| 309 | + exclude: | ||
| 310 | + - os: ghcr.io/cirruslabs/macos-runner:sonoma | ||
| 311 | + is-fork: true | ||
| 312 | + - os: macos-14 | ||
| 313 | + is-fork: false | ||
| 314 | + - os: macos-13 | ||
| 315 | + free-threading: true | ||
| 292 | 316 | uses: ./.github/workflows/reusable-macos.yml | |
| 293 | 317 | with: | |
| 294 | 318 | config_hash: ${{ needs.check_source.outputs.config_hash }} | |
| 295 | - # Cirrus and macos-14 are M1, macos-13 is default GHA Intel. | ||
| 296 | - # Cirrus used for upstream, macos-14 for forks. | ||
| 297 | - os-matrix: '["ghcr.io/cirruslabs/macos-runner:sonoma", "macos-14", "macos-13"]' | ||
| 319 | + free-threading: ${{ matrix.free-threading }} | ||
| 320 | + os: ${{ matrix.os }} | ||
| 298 | 321 | ||
| 299 | 322 | build_ubuntu: | |
| 300 | 323 | name: >- | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -8,32 +8,22 @@ on: | |||
| 8 | 8 | required: false | |
| 9 | 9 | type: boolean | |
| 10 | 10 | default: false | |
| 11 | - os-matrix: | ||
| 12 | - required: false | ||
| 11 | + os: | ||
| 12 | + description: OS to run the job | ||
| 13 | + required: true | ||
| 13 | 14 | type: string | |
| 14 | 15 | ||
| 15 | 16 | jobs: | |
| 16 | 17 | build_macos: | |
| 17 | - name: build and test (${{ matrix.os }}) | ||
| 18 | + name: build and test (${{ inputs.os }}) | ||
| 18 | 19 | timeout-minutes: 60 | |
| 19 | 20 | env: | |
| 20 | 21 | HOMEBREW_NO_ANALYTICS: 1 | |
| 21 | 22 | HOMEBREW_NO_AUTO_UPDATE: 1 | |
| 22 | 23 | HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
| 23 | 24 | HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 | |
| 24 | 25 | PYTHONSTRICTEXTENSIONBUILD: 1 | |
| 25 | - strategy: | ||
| 26 | - fail-fast: false | ||
| 27 | - matrix: | ||
| 28 | - os: ${{fromJson(inputs.os-matrix)}} | ||
| 29 | - is-fork: | ||
| 30 | - - ${{ github.repository_owner != 'python' }} | ||
| 31 | - exclude: | ||
| 32 | - - os: "ghcr.io/cirruslabs/macos-runner:sonoma" | ||
| 33 | - is-fork: true | ||
| 34 | - - os: "macos-14" | ||
| 35 | - is-fork: false | ||
| 36 | - runs-on: ${{ matrix.os }} | ||
| 26 | + runs-on: ${{ inputs.os }} | ||
| 37 | 27 | steps: | |
| 38 | 28 | - uses: actions/checkout@v4 | |
| 39 | 29 | - name: Runner image version | |
@@ -42,7 +32,7 @@ jobs: | |||
| 42 | 32 | uses: actions/cache@v4 | |
| 43 | 33 | with: | |
| 44 | 34 | path: config.cache | |
| 45 | - key: ${{ github.job }}-${{ matrix.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }} | ||
| 35 | + key: ${{ github.job }}-${{ inputs.os }}-${{ env.IMAGE_VERSION }}-${{ inputs.config_hash }} | ||
| 46 | 36 | - name: Install Homebrew dependencies | |
| 47 | 37 | run: brew install pkg-config openssl@3.0 xz gdbm tcl-tk | |
| 48 | 38 | - name: Configure CPython | |
| Back | FazBrowse Home | New Git URL |
0 commit comments