4747 - { macarch: x86_64, os: macos-13 }
4848
4949 steps :
50- -
uses :
actions/[email protected] .6 50+ -
uses :
actions/[email protected] .7 5151
5252 - name : Test for Mac Deps cache hit
5353 id : macdep-cache
@@ -76,58 +76,18 @@ jobs:
7676 # path: ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }}
7777
7878 build :
79- name : ${{ matrix.name }}
79+ name : ${{ matrix.macarch }}
8080 needs : deps
8181 runs-on : ${{ matrix.os }}
8282 strategy :
8383 fail-fast : false # if a particular matrix build fails, don't skip the rest
8484 matrix :
85- # Split job into 5 matrix builds, because GH actions provides 5 concurrent
86- # builds on macOS. This needs to be manually kept updated so that each
87- # of these builds take roughly the same time
8885 include :
89- - {
90- name : " x86_64 (CPython 3.9 - 3.12)" ,
91- macarch : x86_64,
92- os : macos-13,
93- pyversions : " cp3{9,10,11,12}-*" ,
94- }
95-
96- - {
97- name : " x86_64 (Python 3.8)" ,
98- macarch : x86_64,
99- os : macos-13,
100- # CPython/PyPy 3.8
101- pyversions : " ?p38-*" ,
102- }
103-
104- - {
105- name : " x86_64 (PyPy 3.9 and 3.10)" ,
106- macarch : x86_64,
107- os : macos-13,
108- pyversions : " pp39-* pp310-*" ,
109- }
110-
111- - {
112- name : " arm64 (CPython 3.8 - 3.10)" ,
113- macarch : arm64,
114- os : macos-14,
115- pyversions : " cp3{8,9,10}-*" ,
116- }
117-
118- - {
119- name : " arm64 (CPython 3.11 - 3.12)" ,
120- macarch : arm64,
121- os : macos-14,
122- pyversions : " cp3{11,12}-*" ,
123- }
86+ - { macarch: arm64, os: macos-14 }
87+ - { macarch: x86_64, os: macos-13 }
12488
12589 env :
12690 MAC_ARCH : ${{ matrix.macarch }}
127- # load pip config from this file. Define this in 'CIBW_ENVIRONMENT'
128- # because this should not affect cibuildwheel machinery
129- # also define environment variables needed for testing
130- CIBW_ENVIRONMENT : SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=disk
13191
13292 # Explicitly tell CIBW what the wheel arch deployment target should be
13393 # There seems to be no better way to set this than this env
@@ -140,8 +100,6 @@ jobs:
140100 # should be for 10.11 on x86
141101 MACOSX_DEPLOYMENT_TARGET : ${{ matrix.macarch == 'x86_64' && '10.11' || '11.0' }}
142102
143- CIBW_BUILD : ${{ matrix.pyversions }}
144-
145103 CIBW_ARCHS : ${{ matrix.macarch }}
146104
147105 # Setup macOS dependencies
@@ -152,25 +110,19 @@ jobs:
152110 bash ./install_mac_deps.sh
153111
154112 CIBW_BEFORE_BUILD : |
155- pip install numpy
156113 cp -r ${{ github.workspace }}/pygame_mac_deps_${{ matrix.macarch }} ${{ github.workspace }}/pygame_mac_deps
157114
158115 # To remove any speculations about the wheel not being self-contained
159116 CIBW_BEFORE_TEST : rm -rf ${{ github.workspace }}/pygame_mac_deps
160117
161- CIBW_TEST_COMMAND : python -m pygame.tests -v --exclude opengl,timing --time_out 300
162-
163- # Increase pip debugging output
164- CIBW_BUILD_VERBOSITY : 2
165-
166118 steps :
167- -
uses :
actions/[email protected] .6 119+ -
uses :
actions/[email protected] .7 168120
169121 - name : pip cache
170122171123 with :
172124 path : ~/Library/Caches/pip # This cache path is only right on mac
173- key : pip-cache-${{ matrix.name }}
125+ key : pip-cache-${{ matrix.macarch }}-${{ matrix.os }}
174126
175127 - name : Fetch Mac deps
176128 id : macdep-cache
@@ -180,12 +132,17 @@ jobs:
180132 key : macdep-${{ hashFiles('buildconfig/manylinux-build/**') }}-${{ hashFiles('buildconfig/macdependencies/*.sh') }}-${{ matrix.macarch }}
181133 fail-on-cache-miss : true
182134
135+ - name : Install uv for speed
136+ uses : yezz123/setup-uv@v4
137+ with :
138+ uv-version : " 0.2.22"
139+
183140 - name : Build and test wheels
184- uses : pypa/cibuildwheel@v2.18.1
141+ uses : pypa/cibuildwheel@v2.19.2
185142
186143 - uses : actions/upload-artifact@v4
187144 with :
188- name : pygame-wheels-macos-${{ matrix.name }}
145+ name : pygame-wheels-macos-${{ matrix.macarch }}
189146 path : ./wheelhouse/*.whl
190147 compression-level : 0 # wheels are already zip files, no need for more compression
191148
0 commit comments