8
8
runs-on : ${{ matrix.os }}
9
9
strategy :
10
10
matrix :
11
- os : [ubuntu-22.04, windows-2022, macOS-11 ]
11
+ os : [ubuntu-22.04, windows-2022, macos-14 ]
12
12
13
13
steps :
14
14
- uses : actions/checkout@v4
15
15
- name : Set up QEMU
16
16
if : runner.os == 'Linux'
17
- uses : docker/setup-qemu-action@v2
17
+ uses : docker/setup-qemu-action@v3
18
18
with :
19
19
platforms : all
20
20
# Used to host cibuildwheel
21
21
- name : Build wheels
22
- uses : pypa/cibuildwheel@v2.16.2
22
+ uses : pypa/cibuildwheel@v2.23.0
23
23
env :
24
24
# configure cibuildwheel to build native archs ('auto'), and some emulated ones
25
25
CIBW_ARCHS_LINUX : auto aarch64 ppc64le
26
26
CIBW_ARCHS_MACOS : x86_64 arm64 universal2
27
27
CIBW_TEST_REQUIRES : .[test]
28
28
CIBW_TEST_COMMAND : pytest {project}
29
- # arm64 cannot be tested on a x86_64 CI runner
30
- CIBW_TEST_SKIP : " *-macosx_arm64"
31
- - uses : actions/upload-artifact@v3
29
+ # cannot test the arm64 part for CPython 3.8 universal2/arm64, see https://github.com/pypa/cibuildwheel/pull/1169
30
+ CIBW_TEST_SKIP : cp38-macosx_arm64
31
+ # pypy will need to be enabled for cibuildwheel 3
32
+ CIBW_ENABLE : pypy
33
+ - uses : actions/upload-artifact@v4
32
34
with :
33
35
path : ./wheelhouse/*.whl
36
+ name : wheels-${{ matrix.os }}
34
37
35
38
build_sdist :
36
39
name : Build source distribution
@@ -39,20 +42,20 @@ jobs:
39
42
- uses : actions/checkout@v4
40
43
- name : Build sdist
41
44
run : pipx run build --sdist
42
- - uses : actions/upload-artifact@v3
45
+ - uses : actions/upload-artifact@v4
43
46
with :
44
47
path : dist/*.tar.gz
48
+ name : source-dist
45
49
46
50
pypi_upload :
47
51
name : Publish to PyPI
48
52
needs : [build_wheels, build_sdist]
49
53
runs-on : ubuntu-latest
50
54
if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
51
55
steps :
52
- - uses : actions/setup-python@v4
53
- - uses : actions/download-artifact@v3
56
+ - uses : actions/setup-python@v5
57
+ - uses : actions/download-artifact@v4
54
58
with :
55
- name : artifact
56
59
path : dist
57
60
- name : Publish package
58
61
uses : pypa/gh-action-pypi-publish@release/v1
0 commit comments