1- # This file is autogenerated by maturin v1.9.1
1+ # This file is autogenerated by maturin v1.11.5
22# To update, run
33#
4- # maturin generate-ci github
4+ # maturin generate-ci github --platform manylinux macos windows emscripten
55#
66name : CI
77
3737 - runner : ubuntu-22.04
3838 target : ppc64le
3939 steps :
40- - uses : actions/checkout@v4
41- - uses : actions/setup-python@v5
40+ - uses : actions/checkout@v6
41+ - uses : actions/setup-python@v6
4242 with :
4343 python-version : 3.x
4444 - name : Build wheels
@@ -49,106 +49,117 @@ jobs:
4949 sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
5050 manylinux : auto
5151 - name : Upload wheels
52- uses : actions/upload-artifact@v4
52+ uses : actions/upload-artifact@v5
5353 with :
5454 name : wheels-linux-${{ matrix.platform.target }}
5555 path : dist
5656
57- musllinux :
57+ windows :
5858 runs-on : ${{ matrix.platform.runner }}
5959 strategy :
6060 matrix :
6161 platform :
62- - runner : ubuntu-22.04
63- target : x86_64
64- - runner : ubuntu-22.04
62+ - runner : windows-latest
63+ target : x64
64+ python_arch : x64
65+ - runner : windows-latest
6566 target : x86
66- - runner : ubuntu-22.04
67+ python_arch : x86
68+ - runner : windows-11-arm
6769 target : aarch64
68- - runner : ubuntu-22.04
69- target : armv7
70+ python_arch : arm64
7071 steps :
71- - uses : actions/checkout@v4
72- - uses : actions/setup-python@v5
72+ - uses : actions/checkout@v6
73+ - uses : actions/setup-python@v6
7374 with :
74- python-version : 3.x
75+ python-version : 3.13
76+ architecture : ${{ matrix.platform.python_arch }}
7577 - name : Build wheels
7678 uses : PyO3/maturin-action@v1
7779 with :
7880 target : ${{ matrix.platform.target }}
7981 args : --release --out dist --find-interpreter
8082 sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
81- manylinux : musllinux_1_2
8283 - name : Upload wheels
83- uses : actions/upload-artifact@v4
84+ uses : actions/upload-artifact@v5
8485 with :
85- name : wheels-musllinux -${{ matrix.platform.target }}
86+ name : wheels-windows -${{ matrix.platform.target }}
8687 path : dist
8788
88- windows :
89+ macos :
8990 runs-on : ${{ matrix.platform.runner }}
9091 strategy :
9192 matrix :
9293 platform :
93- - runner : windows-latest
94- target : x64
95- - runner : windows -latest
96- target : x86
94+ - runner : macos-15-intel
95+ target : x86_64
96+ - runner : macos -latest
97+ target : aarch64
9798 steps :
98- - uses : actions/checkout@v4
99- - uses : actions/setup-python@v5
99+ - uses : actions/checkout@v6
100+ - uses : actions/setup-python@v6
100101 with :
101102 python-version : 3.x
102- architecture : ${{ matrix.platform.target }}
103103 - name : Build wheels
104104 uses : PyO3/maturin-action@v1
105105 with :
106106 target : ${{ matrix.platform.target }}
107107 args : --release --out dist --find-interpreter
108108 sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
109109 - name : Upload wheels
110- uses : actions/upload-artifact@v4
110+ uses : actions/upload-artifact@v5
111111 with :
112- name : wheels-windows -${{ matrix.platform.target }}
112+ name : wheels-macos -${{ matrix.platform.target }}
113113 path : dist
114114
115- macos :
115+ emscripten :
116116 runs-on : ${{ matrix.platform.runner }}
117117 strategy :
118118 matrix :
119119 platform :
120- - runner : macos-13
121- target : x86_64
122- - runner : macos-14
123- target : aarch64
120+ - runner : ubuntu-22.04
121+ target : wasm32-unknown-emscripten
124122 steps :
125- - uses : actions/checkout@v4
126- - uses : actions/setup-python@v5
127- with :
128- python-version : 3.x
123+ - uses : actions/checkout@v6
124+ - run : pip install pyodide-build
125+ - name : Get Emscripten and Python version info
126+ shell : bash
127+ run : |
128+ echo EMSCRIPTEN_VERSION=$(pyodide config get emscripten_version) >> $GITHUB_ENV
129+ echo PYTHON_VERSION=$(pyodide config get python_version | cut -d '.' -f 1-2) >> $GITHUB_ENV
130+ pip uninstall -y pyodide-build
131+ - uses : mymindstorm/setup-emsdk@v12
132+ with :
133+ version : ${{ env.EMSCRIPTEN_VERSION }}
134+ actions-cache-folder : emsdk-cache
135+ - uses : actions/setup-python@v6
136+ with :
137+ python-version : ${{ env.PYTHON_VERSION }}
138+ - run : pip install pyodide-build
129139 - name : Build wheels
130140 uses : PyO3/maturin-action@v1
131141 with :
132142 target : ${{ matrix.platform.target }}
133- args : --release --out dist --find-interpreter
143+ args : --release --out dist -i ${{ env.PYTHON_VERSION }}
134144 sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
145+ rust-toolchain : nightly
135146 - name : Upload wheels
136- uses : actions/upload-artifact@v4
147+ uses : actions/upload-artifact@v5
137148 with :
138- name : wheels-macos-${{ matrix.platform.target }}
149+ name : wasm-wheels
139150 path : dist
140151
141152 sdist :
142153 runs-on : ubuntu-latest
143154 steps :
144- - uses : actions/checkout@v4
155+ - uses : actions/checkout@v6
145156 - name : Build sdist
146157 uses : PyO3/maturin-action@v1
147158 with :
148159 command : sdist
149160 args : --out dist
150161 - name : Upload sdist
151- uses : actions/upload-artifact@v4
162+ uses : actions/upload-artifact@v5
152163 with :
153164 name : wheels-sdist
154165 path : dist
@@ -157,7 +168,7 @@ jobs:
157168 name : Release
158169 runs-on : ubuntu-latest
159170 if : ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
160- needs : [linux, musllinux, windows, macos, sdist]
171+ needs : [linux, windows, macos, emscripten , sdist]
161172 permissions :
162173 # Use to sign the release artifacts
163174 id-token : write
@@ -166,16 +177,22 @@ jobs:
166177 # Used to generate artifact attestation
167178 attestations : write
168179 steps :
169- - uses : actions/download-artifact@v4
180+ - uses : actions/download-artifact@v6
170181 - name : Generate artifact attestation
171- uses : actions/attest-build-provenance@v2
182+ uses : actions/attest-build-provenance@v3
172183 with :
173184 subject-path : ' wheels-*/*'
185+ - name : Install uv
186+ if : ${{ startsWith(github.ref, 'refs/tags/') }}
187+ uses : astral-sh/setup-uv@v7
174188 - name : Publish to PyPI
175189 if : ${{ startsWith(github.ref, 'refs/tags/') }}
176- uses : PyO3/maturin-action@v1
190+ run : uv publish 'wheels-*/*'
177191 env :
178- MATURIN_PYPI_TOKEN : ${{ secrets.PYPI_API_TOKEN }}
192+ UV_PUBLISH_TOKEN : ${{ secrets.PYPI_API_TOKEN }}
193+ - name : Upload to GitHub Release
194+ uses : softprops/action-gh-release@v1
179195 with :
180- command : upload
181- args : --non-interactive --skip-existing wheels-*/*
196+ files : |
197+ wasm-wheels/*.whl
198+ prerelease : ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') }}
0 commit comments