4141 - " 3.10"
4242 - " 3.11"
4343 - " 3.12"
44+ - " 3.13"
4445 os :
4546 - ubuntu-latest
4647 - macOS-latest
7475 release :
7576 runs-on : ubuntu-latest
7677 environment : release
78+ outputs :
79+ newest_release_tag : ${{ steps.release_tag.outputs.newest_release_tag }}
7780 if : github.ref == 'refs/heads/main'
7881 needs :
7982 - test
@@ -97,6 +100,15 @@ jobs:
97100 github_token : ${{ secrets.GITHUB_TOKEN }}
98101 pypi_token : ${{ secrets.PYPI_TOKEN }}
99102
103+ - name : Install python-semantic-release
104+ run : python3 -m pip install python-semantic-release==7.34.6
105+
106+ - name : Get Release Tag
107+ id : release_tag
108+ shell : bash
109+ run : |
110+ echo "newest_release_tag=$(semantic-release print-version --current)" >> $GITHUB_OUTPUT
111+
100112 build_wheels :
101113 needs : [release]
102114
@@ -105,47 +117,40 @@ jobs:
105117 strategy :
106118 matrix :
107119 os :
120+ - ubuntu-24.04-arm
108121 - macos-latest
109122 - ubuntu-latest
110123 - windows-latest
111-
124+ musl : ["", "musllinux"]
125+ exclude :
126+ - os : windows-latest
127+ musl : " musllinux"
128+ - os : macos-latest
129+ musl : " musllinux"
112130 steps :
113- - uses : actions/checkout@v3
131+ - uses : actions/checkout@v4
114132 with :
133+ ref : " v${{ needs.release.outputs.newest_release_tag }}"
115134 fetch-depth : 0
116- ref : " main"
117135
118136 # Used to host cibuildwheel
119137 - name : Set up Python
120138 uses : actions/setup-python@v4
121139 with :
122140 python-version : " 3.10"
123141
124- - name : Install python-semantic-release
125- run : python3 -m pip install python-semantic-release==7.34.6
126-
127- - name : Get Release Tag
128- id : release_tag
129- shell : bash
130- run : |
131- echo "::set-output name=newest_release_tag::$(semantic-release print-version --current)"
132-
133- - uses : actions/checkout@v3
134- with :
135- ref : " v${{ steps.release_tag.outputs.newest_release_tag }}"
136- fetch-depth : 0
137-
138142 - name : Install cibuildwheel
139- run : python -m pip install cibuildwheel==2.16.2
143+ run : python -m pip install cibuildwheel==2.22.0
140144
141145 - name : Build wheels
142146 run : python -m cibuildwheel --output-dir wheelhouse
143147 # to supply options, put them in 'env', like:
144148 env :
145- CIBW_SKIP : cp36-* cp37-* cp38-* cp39-* pp36-* pp37-* pp38-* pp39-*
149+ CIBW_SKIP : cp36-* cp37-* cp38-* cp39-* pp36-* pp37-* pp38-* pp39-* ${{ matrix.musl == 'musllinux' && '*manylinux*' || '*musllinux*' }}
146150 CIBW_BEFORE_ALL_LINUX : apt-get install -y gcc || yum install -y gcc || apk add gcc
147151 CIBW_BUILD_VERBOSITY : 3
148152 REQUIRE_CYTHON : 1
153+ CIBW_ARCHS_LINUX : ${{ matrix.os == 'ubuntu-24.04-arm' && 'aarch64' || 'auto' }}
149154
150155 - uses : actions/upload-artifact@v3
151156 with :
0 commit comments