@@ -25,6 +25,7 @@ name: Run tests and build wheel and sdist on all supported OS and Python
2525
2626on : [push, pull_request, workflow_dispatch]
2727
28+ permissions : {}
2829jobs :
2930 build_wheels :
3031 name : Build unicode wheels ${{ matrix.type }} ${{ matrix.arch }} on ${{ matrix.os }}
4647 build : " cp{310,311,312,313,314}-*"
4748 CIBW_MANYLINUX_X86_64_IMAGE : manylinux2014
4849
50+ - os : ubuntu-24.04-arm
51+ arch : aarch64
52+ build : " cp{310,311,312,313,314}-*"
53+ CIBW_MANYLINUX_AARCH64_IMAGE : manylinux2014
54+
4955 - os : macos-latest
5056 arch : universal2
5157 build : " cp{310,311,312,313,314}-*"
@@ -55,22 +61,22 @@ jobs:
5561 build : " cp{310,311,312,313,314}-*"
5662
5763 steps :
58- - uses : actions/checkout@v4
64+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
65+ with :
66+ persist-credentials : false
5967
6068 - name : Build wheels and run tests
61- uses : pypa/cibuildwheel@v3.2.1
69+ uses : pypa/cibuildwheel@8d2b08b68458a16aeb24b64e68a09ab1c8e82084
6270 env :
6371 CIBW_BUILD : ${{ matrix.build }}
64- CIBW_MANYLINUX_I686_IMAGE : ${{ matrix.CIBW_MANYLINUX_I686_IMAGE }}
6572 CIBW_MANYLINUX_X86_64_IMAGE : ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }}
73+ CIBW_MANYLINUX_AARCH64_IMAGE : ${{ matrix.CIBW_MANYLINUX_AARCH64_IMAGE }}
6674 CIBW_ARCHS : ${{ matrix.arch }}
6775 CIBW_TEST_REQUIRES : pytest
6876 CIBW_TEST_COMMAND : pytest -vvs {project}/tests
69- # Skip PyPy wheels
70- CIBW_SKIP : " pp*"
7177
7278 - name : Collect built wheels
73- uses : actions/upload-artifact@v4
79+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
7480 with :
7581 name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
7682 path : ./wheelhouse/*.whl
@@ -80,19 +86,22 @@ jobs:
8086 runs-on : ubuntu-24.04
8187
8288 steps :
83- - uses : actions/checkout@v4
89+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
90+ with :
91+ persist-credentials : false
8492
8593 - name : Checkout and install reqs
8694 run : |
8795 pip install --upgrade --user build twine pkginfo packaging pip setuptools cython
96+ pip install setuptools-scm==10.0.4
8897
8998 - name : Build sdist
9099 run : |
91100 python setup.py sdist
92101 twine check dist/*
93102
94103 - name : Collect built sdist
95- uses : actions/upload-artifact@v4
104+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
96105 with :
97106 path : dist/*.tar.gz
98107
@@ -106,16 +115,18 @@ jobs:
106115 strategy :
107116 fail-fast : false
108117 matrix :
109- os : [ubuntu-22.04, ubuntu-24.04, macos-13 , macos-14]
118+ os : [ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm , macos-14, macos-15 ]
110119 python : ["3.10", "3.11", "3.12", "3.13", "3.14"]
111120
112121 steps :
113122 - name : Set up Python
114- uses : actions/setup-python@v5
123+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
115124 with :
116125 python-version : " ${{ matrix.python }}"
117126
118- - uses : actions/checkout@v4
127+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
128+ with :
129+ persist-credentials : false
119130
120131 - name : Build, install and test
121132 run : >
@@ -134,11 +145,13 @@ jobs:
134145
135146 steps :
136147 - name : Set up Python
137- uses : actions/setup-python@v5
148+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
138149 with :
139150 python-version : " ${{ matrix.python }}"
140151
141- - uses : actions/checkout@v4
152+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
153+ with :
154+ persist-credentials : false
142155
143156 - name : Build, install and test
144157 run : >
0 commit comments