@@ -38,14 +38,16 @@ concurrency:
3838jobs :
3939 deps :
4040 name : ${{ matrix.macarch }} deps
41- runs-on : macos-12
41+ runs-on : ${{ matrix.os }}
4242 strategy :
4343 matrix :
4444 # make arm64 deps and x86_64 deps
45- macarch : [arm64, x86_64]
45+ include :
46+ - { macarch: arm64, os: macos-14 }
47+ - { macarch: x86_64, os: macos-13 }
4648
4749 steps :
48- -
uses :
actions/[email protected] .3 50+ -
uses :
actions/[email protected] .5 4951
5052 - name : Test for Mac Deps cache hit
5153 id : macdep-cache
5456 path : ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
5557 # The hash of all files in buildconfig manylinux-build and macdependencies is
5658 # the key to the cache. If anything changes here, the deps are built again
57- key : macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}
59+ key : macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}-${{ matrix.os }}
5860 lookup-only : true
5961
6062 # build mac deps on cache miss
7678 build :
7779 name : ${{ matrix.name }}
7880 needs : deps
79- runs-on : macos-12
81+ runs-on : ${{ matrix.os }}
8082 strategy :
8183 fail-fast : false # if a particular matrix build fails, don't skip the rest
8284 matrix :
@@ -87,31 +89,36 @@ jobs:
8789 - {
8890 name : " x86_64 (CPython 3.9 - 3.12)" ,
8991 macarch : x86_64,
92+ os : macos-13,
9093 pyversions : " cp3{9,10,11,12}-*" ,
9194 }
9295
9396 - {
9497 name : " x86_64 (Python 3.8)" ,
9598 macarch : x86_64,
99+ os : macos-13,
96100 # CPython/PyPy 3.8
97101 pyversions : " ?p38-*" ,
98102 }
99103
100104 - {
101105 name : " x86_64 (PyPy 3.9 and 3.10)" ,
102106 macarch : x86_64,
107+ os : macos-13,
103108 pyversions : " pp39-* pp310-*" ,
104109 }
105110
106111 - {
107112 name : " arm64 (CPython 3.8 - 3.10)" ,
108113 macarch : arm64,
114+ os : macos-14,
109115 pyversions : " cp3{8,9,10}-*" ,
110116 }
111117
112118 - {
113119 name : " arm64 (CPython 3.11 - 3.12)" ,
114120 macarch : arm64,
121+ os : macos-14,
115122 pyversions : " cp3{11,12}-*" ,
116123 }
117124
@@ -135,8 +142,6 @@ jobs:
135142
136143 CIBW_BUILD : ${{ matrix.pyversions }}
137144
138- # Build arm64 and x86_64 wheels too on an Intel runner.
139- # Note that the arm64 wheels cannot be tested on CI in this configuration
140145 CIBW_ARCHS : ${{ matrix.macarch }}
141146
142147 # Setup macOS dependencies
@@ -160,7 +165,7 @@ jobs:
160165 CIBW_BUILD_VERBOSITY : 2
161166
162167 steps :
163- -
uses :
actions/[email protected] .3 168+ -
uses :
actions/[email protected] .5 164169
165170 - name : pip cache
166171@@ -177,7 +182,7 @@ jobs:
177182 fail-on-cache-miss : true
178183
179184 - name : Build and test wheels
180- uses : pypa/cibuildwheel@v2.16.4
185+ uses : pypa/cibuildwheel@v2.17.0
181186
182187 - uses : actions/upload-artifact@v4
183188 with :
0 commit comments