File tree 2 files changed +33
-20
lines changed
2 files changed +33
-20
lines changed 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
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
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
You can’t perform that action at this time.
0 commit comments