@@ -8,35 +8,39 @@ concurrency:
8
8
9
9
jobs :
10
10
build_wheels :
11
- name : Build ${{ matrix.archs }} wheel on ${{ matrix.os }}
11
+ name : Build wheels on ${{ matrix.os }}
12
12
runs-on : ${{ matrix.os }}
13
13
strategy :
14
14
fail-fast : false
15
15
matrix :
16
16
# macos-12 is an intel runner, macos-14 is a arm64 runner
17
17
os : [ubuntu-latest, windows-latest, macos-12, macos-14]
18
- archs : ["native"]
19
- include :
20
- - os : ubuntu-latest
21
- archs : " aarch64"
18
+ build_all :
19
+ - ${{ (github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')) || contains(github.event.pull_request.labels.*.name, 'test all wheels')}}
22
20
env :
23
21
CIBW_TEST_COMMAND : python -c "import numcodecs"
24
22
CIBW_BUILD : " cp310-* cp311-* cp312-*"
25
- CIBW_SKIP : " pp* *-musllinux_* *win32 *_i686 *_s390x"
26
- CIBW_ARCHS : ${{ matrix.archs }}
23
+ CIBW_ARCHS_MACOS : native
24
+ CIBW_ARCHS_WINDOWS : native
25
+ CIBW_ARCHS_LINUX : " x86_64 aarch64"
27
26
# note: CIBW_ENVIRONMENT is now set in pyproject.toml
28
27
29
28
steps :
30
29
- uses : actions/checkout@v4
31
30
with :
32
31
submodules : true
33
32
34
-
33
+ - name : Restrict number of wheel builds on PRs
34
+ if : ${{ !matrix.build_all }}
35
+ run : |
36
+ echo "CIBW_BUILD=cp310-win_amd64 cp311-manylinux_x86_64 cp312-macosx_x86_64 cp312-macosx_arm64" >> $GITHUB_ENV
35
37
36
38
- name : Set up QEMU
37
- if : ${{ matrix.archs == 'aarch64 ' }}
39
+ if : ${{ matrix.os == 'ubuntu-latest ' }}
38
40
uses : docker/setup-qemu-action@v3
39
41
42
+
43
+
40
44
- uses : actions/upload-artifact@v4
41
45
with :
42
46
name : wheels-${{ matrix.os }}
0 commit comments