1010 name : Build source package
1111 runs-on : [ ubuntu-latest ]
1212 steps :
13- - uses : actions/checkout@v3
13+ - uses : actions/checkout@v4
1414
15- - uses : actions/setup-python@v4
15+ - uses : actions/setup-python@v5
1616 name : Install Python
1717 with :
1818 python-version : ' 3.x'
@@ -22,39 +22,41 @@ jobs:
2222 python -m pip install setuptools
2323 python setup.py sdist
2424
25- - uses : actions/upload-artifact@v3
25+ - uses : actions/upload-artifact@v4
2626 with :
27- name : source
27+ name : source-${{ github.ref_name }}
2828 path : ./dist/*.tar.gz
2929
3030 build_python3_wheels :
3131 name : Build Python 3 wheels on ${{ matrix.os }}
3232 runs-on : ${{ matrix.os }}
3333 strategy :
3434 matrix :
35- os : [ubuntu-20 .04, windows-2019, macos-12 ]
35+ os : [ubuntu-22 .04, windows-2019, macos-13, ubuntu-22.04-arm ]
3636
3737 if : github.actor == 'Legrandin'
3838
3939 steps :
40- - uses : actions/checkout@v3
40+ - uses : actions/checkout@v4
4141
4242 - name : Select architecture for MacOS
4343 run : |
4444 echo 'CIBW_ARCHS=x86_64 universal2' >> $GITHUB_ENV
4545 if : runner.os == 'macOS'
4646
47- - uses : pypa/cibuildwheel@v2.21.1
47+ - uses : pypa/cibuildwheel@v2.22.0
4848 name : Build wheels
4949 env :
5050 # cibuildwheel will build wheel once and test it for each CPython version
5151 # and for PyPy > 3.8.
52- CIBW_BUILD : " cp36-* cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* pp39-* pp310-*"
52+ CIBW_BUILD : " cp37-* cp38-* cp39-* cp310-* cp311-* cp312-* cp313-* pp39-* pp310-*"
5353 CIBW_MANYLINUX_X86_64_IMAGE : " manylinux2014"
5454 CIBW_MANYLINUX_I686_IMAGE : " manylinux2014"
55+ CIBW_MANYLINUX_AARCH64_IMAGE : " manylinux2014"
5556 CIBW_MANYLINUX_PYPY_X86_64_IMAGE : " manylinux2014"
5657 CIBW_MANYLINUX_PYPY_I686_IMAGE : " manylinux2014"
57- CIBW_FREE_THREADED_SUPPORT : " true"
58+ CIBW_MANYLINUX_PYPY_AARCH64_IMAGE : " manylinux2014"
59+ CIBW_ENABLE : " cpython-freethreading pypy"
5860 CIBW_BEFORE_TEST_LINUX : " (ldd /bin/ls | grep -q musl && apk add gmp) || true"
5961
6062 # Set pycryptodome/x test command according to built package
@@ -66,20 +68,20 @@ jobs:
6668 - name : Delete manylinux1 wheels
6769 if : runner.os == 'Linux'
6870 run : |
69- rm -f wheelhouse/*-manylinux1_i686.whl
70- rm -f wheelhouse/*-manylinux1_x86_64.whl
71+ rm -f wheelhouse/*-manylinux1_*.whl
7172
72- - uses : actions/upload-artifact@v3
73+ - uses : actions/upload-artifact@v4
7374 with :
74- name : wheels
75+ name : wheels-python3-${{ matrix.os }}-${{ github.ref_name }}
76+ overwrite : true
7577 path : ./wheelhouse/*.whl
7678
7779 build_legacy_wheels :
7880 name : Build legacy Python wheels on ${{ matrix.os }} (${{ matrix.arch }})
7981 runs-on : ${{ matrix.os }}
8082 strategy :
8183 matrix :
82- os : [ ubuntu-20 .04, windows-2019, macos-12 ]
84+ os : [ ubuntu-22 .04, windows-2019, macos-13 ]
8385 arch : [ multi-arch ]
8486 # Python 2 on Windows requires manual toolchain setup (per-arch) due to newer MSVC used here
8587 exclude :
9496 if : github.actor == 'Legrandin'
9597
9698 steps :
97- - uses : actions/checkout@v3
99+ - uses : actions/checkout@v4
98100
99101 - name : Install MSVC
100102 if : runner.os == 'Windows'
@@ -136,10 +138,10 @@ jobs:
136138 - name : Delete manylinux1 wheels
137139 if : runner.os == 'Linux'
138140 run : |
139- rm -f wheelhouse/*-manylinux1_i686.whl
140- rm -f wheelhouse/*-manylinux1_x86_64.whl
141+ rm -f wheelhouse/*-manylinux1_*.whl
141142
142- - uses : actions/upload-artifact@v3
143+ - uses : actions/upload-artifact@v4
143144 with :
144- name : wheels
145+ name : wheels-legacy-${{ matrix.os }}-${{ github.ref_name }}
146+ overwrite : true
145147 path : ./wheelhouse/*.whl
0 commit comments