1818 if : github.event_name == 'release'
1919
2020 steps :
21- - uses : actions/checkout@v5
21+ - uses : actions/checkout@v6
2222
2323 - name : Set up latest Python
2424 uses : actions/setup-python@v6
@@ -46,36 +46,39 @@ jobs:
4646 outputs :
4747 include : ${{ steps.set-matrix.outputs.include }}
4848 steps :
49- - uses : actions/checkout@v5
49+ - uses : actions/checkout@v6
5050 # Keep cibuildwheel version in sync with below
5151 - name : Install cibuildwheel and pypyp
5252 run : |
53- pipx install cibuildwheel==2.23.3
53+ pipx install cibuildwheel==3.2.1
5454 pipx install pypyp==1.3.0
5555 - name : generate matrix
56- if : github.event_name != 'pull_request'
56+ if : |
57+ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci: build all wheels')
5758 run : |
5859 {
5960 cibuildwheel --print-build-identifiers --platform linux \
6061 | pyp 'json.dumps({"only": x, "os": "ubuntu-latest"})' \
6162 && cibuildwheel --print-build-identifiers --platform macos \
6263 | pyp 'json.dumps({"only": x, "os": "macos-latest"})' \
6364 && cibuildwheel --print-build-identifiers --platform windows \
64- | pyp 'json.dumps({"only": x, "os": "windows-latest"})'
65+ | pyp 'json.dumps({"only": x, "os": "windows-latest"})' \
66+ && cibuildwheel --print-build-identifiers --platform windows --archs ARM64 \
67+ | pyp 'json.dumps({"only": x, "os": "windows-11-arm"})'
6568 } | pyp 'json.dumps(list(map(json.loads, lines)))' > /tmp/matrix
6669 env :
6770 CIBW_ARCHS_LINUX : x86_64
6871 CIBW_ARCHS_MACOS : x86_64 arm64
6972 CIBW_ARCHS_WINDOWS : AMD64
7073 - name : generate matrix (PR)
71- if : github.event_name == 'pull_request'
74+ if : |
75+ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'ci: build all wheels')
7276 run : |
7377 {
74- cibuildwheel --print-build-identifiers --platform linux \
75- | pyp 'json.dumps({"only": x, "os": "ubuntu -latest"})'
78+ CIBW_BUILD="cp310-*" cibuildwheel --print-build-identifiers --platform linux | pyp 'json.dumps({"only": x, "os": "ubuntu-latest"})'
79+ CIBW_BUILD="cp314-*" cibuildwheel --print-build-identifiers --platform windows | pyp 'json.dumps({"only": x, "os": "windows -latest"})'
7680 } | pyp 'json.dumps(list(map(json.loads, lines)))' > /tmp/matrix
7781 env :
78- CIBW_BUILD : " cp39-* cp313-*"
7982 CIBW_ARCHS_LINUX : x86_64
8083 - id : set-matrix
8184 run : echo "include=$(cat /tmp/matrix)" | tee -a $GITHUB_OUTPUT
@@ -90,14 +93,14 @@ jobs:
9093 include : ${{ fromJson(needs.generate_wheels_matrix.outputs.include) }}
9194
9295 steps :
93- - uses : actions/checkout@v5
96+ - uses : actions/checkout@v6
9497 # Keep cibuildwheel version in sync with above
95- - uses : pypa/cibuildwheel@v2.23.3
98+ - uses : pypa/cibuildwheel@v3.3.0
9699 with :
97100 only : ${{ matrix.only }}
98101
99102 - name : Upload wheels as workflow artifacts
100- uses : actions/upload-artifact@v4
103+ uses : actions/upload-artifact@v5
101104 with :
102105 name : ${{ matrix.only }}-mypyc-wheels
103106 path : ./wheelhouse/*.whl
@@ -118,7 +121,7 @@ jobs:
118121
119122 steps :
120123 - name : Checkout stable branch
121- uses : actions/checkout@v5
124+ uses : actions/checkout@v6
122125 with :
123126 ref : stable
124127 fetch-depth : 0
0 commit comments