Skip to content

Commit 364d461

Browse files
committed
Bump dependencies
Rewrite build workflow (#34; thanks to @chirizxc)
1 parent 083f195 commit 364d461

11 files changed

Lines changed: 158 additions & 132 deletions

File tree

.github/workflows/CI.yml

Lines changed: 136 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -3,111 +3,147 @@ name: CI
33
on:
44
workflow_dispatch:
55

6-
permissions:
7-
contents: read
8-
96
jobs:
107
linux:
118
runs-on: ${{ matrix.platform.runner }}
129
strategy:
1310
matrix:
1411
platform:
15-
- runner: ubuntu-22.04
16-
target: x86_64
17-
- runner: ubuntu-22.04
18-
target: x86
19-
- runner: ubuntu-22.04
20-
target: aarch64
21-
- runner: ubuntu-22.04
22-
target: armv7
23-
- runner: ubuntu-22.04
24-
target: s390x
25-
- runner: ubuntu-22.04
26-
target: ppc64le
12+
- {
13+
runner: ubuntu-latest,
14+
target: x86_64,
15+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
16+
}
17+
- {
18+
runner: ubuntu-latest,
19+
target: x86,
20+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
21+
}
22+
- {
23+
runner: ubuntu-latest,
24+
target: aarch64,
25+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
26+
}
27+
- {
28+
runner: ubuntu-latest,
29+
target: armv7,
30+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
31+
}
32+
- {
33+
runner: ubuntu-latest,
34+
target: s390x,
35+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
36+
}
37+
- {
38+
runner: ubuntu-latest,
39+
target: ppc64le,
40+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
41+
}
2742
steps:
28-
- uses: actions/checkout@v4
29-
- uses: actions/setup-python@v5
43+
- uses: actions/checkout@v5
44+
with:
45+
persist-credentials: false
46+
47+
- uses: actions/setup-python@v6
3048
with:
3149
python-version: 3.x
32-
allow-prereleases: true
33-
34-
- name: Build wheels
35-
uses: PyO3/maturin-action@v1
50+
51+
- name: "Build wheels"
52+
uses: PyO3/maturin-action@v1.49.4
3653
with:
3754
target: ${{ matrix.platform.target }}
38-
args: --release --out dist --find-interpreter
55+
args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
3956
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
4057
manylinux: auto
4158
rust-toolchain: nightly
4259

43-
- name: Upload wheels
44-
uses: actions/upload-artifact@v4
60+
- name: "Upload wheels"
61+
uses: actions/upload-artifact@v4.6.2
4562
with:
4663
name: wheels-linux-${{ matrix.platform.target }}
4764
path: dist
48-
65+
4966
musllinux:
5067
runs-on: ${{ matrix.platform.runner }}
5168
strategy:
5269
matrix:
5370
platform:
54-
- runner: ubuntu-22.04
55-
target: x86_64
56-
- runner: ubuntu-22.04
57-
target: x86
58-
- runner: ubuntu-22.04
59-
target: aarch64
60-
- runner: ubuntu-22.04
61-
target: armv7
71+
- {
72+
runner: ubuntu-latest,
73+
target: x86_64,
74+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
75+
}
76+
- {
77+
runner: ubuntu-latest,
78+
target: x86,
79+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
80+
}
81+
- {
82+
runner: ubuntu-latest,
83+
target: aarch64,
84+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
85+
}
86+
- {
87+
runner: ubuntu-latest,
88+
target: armv7,
89+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
90+
}
91+
6292
steps:
63-
- uses: actions/checkout@v4
64-
- uses: actions/setup-python@v5
93+
- uses: actions/checkout@v5
94+
with:
95+
persist-credentials: false
96+
- uses: actions/setup-python@v6
6597
with:
6698
python-version: 3.x
67-
allow-prereleases: true
68-
69-
- name: Build wheels
70-
uses: PyO3/maturin-action@v1
99+
- name: "Build wheels"
100+
uses: PyO3/maturin-action@v1.49.4
71101
with:
72102
target: ${{ matrix.platform.target }}
73-
args: --release --out dist --find-interpreter
103+
args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
74104
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
75105
manylinux: musllinux_1_2
76106
rust-toolchain: nightly
77107

78-
- name: Upload wheels
79-
uses: actions/upload-artifact@v4
108+
- name: "Upload wheels"
109+
uses: actions/upload-artifact@v4.6.2
80110
with:
81111
name: wheels-musllinux-${{ matrix.platform.target }}
82112
path: dist
83-
113+
84114
windows:
85115
runs-on: ${{ matrix.platform.runner }}
86116
strategy:
87117
matrix:
88118
platform:
89-
- runner: windows-latest
90-
target: x64
91-
- runner: windows-latest
92-
target: x86
119+
- {
120+
runner: windows-latest,
121+
target: x64,
122+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
123+
}
124+
- {
125+
runner: windows-latest,
126+
target: x86,
127+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t"
128+
}
93129
steps:
94-
- uses: actions/checkout@v4
95-
- uses: actions/setup-python@v5
130+
- uses: actions/checkout@v5.0.0
131+
with:
132+
persist-credentials: false
133+
- uses: actions/setup-python@v6.0.0
96134
with:
97135
python-version: 3.x
98136
architecture: ${{ matrix.platform.target }}
99-
allow-prereleases: true
100-
101-
- name: Build wheels
102-
uses: PyO3/maturin-action@v1
137+
- name: "Build wheels"
138+
uses: PyO3/maturin-action@v1.49.4
103139
with:
104140
target: ${{ matrix.platform.target }}
105-
args: --release --out dist --find-interpreter
141+
args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
106142
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
107143
rust-toolchain: nightly
108-
109-
- name: Upload wheels
110-
uses: actions/upload-artifact@v4
144+
145+
- name: "Upload wheels"
146+
uses: actions/upload-artifact@v4.6.2
111147
with:
112148
name: wheels-windows-${{ matrix.platform.target }}
113149
path: dist
@@ -117,53 +153,65 @@ jobs:
117153
strategy:
118154
matrix:
119155
platform:
120-
- runner: macos-13
121-
target: x86_64
122-
- runner: macos-14
123-
target: aarch64
156+
- {
157+
runner: macos-13,
158+
target: x86_64,
159+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
160+
}
161+
- {
162+
runner: macos-14,
163+
target: aarch64,
164+
interpreter: "3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.11"
165+
}
124166
steps:
125-
- uses: actions/checkout@v4
126-
- uses: actions/setup-python@v5
167+
- uses: actions/checkout@v5.0.0
168+
with:
169+
persist-credentials: false
170+
171+
- uses: actions/setup-python@v6.0.0
127172
with:
128173
python-version: 3.x
129-
allow-prereleases: true
130-
131-
- name: Build wheels
132-
uses: PyO3/maturin-action@v1
174+
175+
- name: "Build wheels"
176+
uses: PyO3/maturin-action@v1.49.4
133177
with:
134178
target: ${{ matrix.platform.target }}
135-
args: --release --out dist --find-interpreter
179+
args: --release --out dist --interpreter ${{ matrix.platform.interpreter }}
136180
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
137181
rust-toolchain: nightly
138182

139-
- name: Upload wheels
140-
uses: actions/upload-artifact@v4
183+
- name: "Upload wheels"
184+
uses: actions/upload-artifact@v4.6.2
141185
with:
142186
name: wheels-macos-${{ matrix.platform.target }}
143187
path: dist
144188

145-
sdist:
189+
build-sdist:
190+
name: "build sdist"
146191
runs-on: ubuntu-latest
147192
steps:
148-
- uses: actions/checkout@v4
149-
- name: Build sdist
150-
uses: PyO3/maturin-action@v1
193+
- uses: actions/checkout@v5.0.0
194+
with:
195+
persist-credentials: false
196+
197+
- name: "Build sdist"
198+
uses: PyO3/maturin-action@v1.49.4
151199
with:
152200
command: sdist
153201
args: --out dist
154202
rust-toolchain: nightly
155-
156-
- name: Upload sdist
157-
uses: actions/upload-artifact@v4
203+
204+
- name: "Upload sdist"
205+
uses: actions/upload-artifact@v4.6.2
158206
with:
159207
name: wheels-sdist
160208
path: dist
161-
209+
162210
release:
163-
name: Release
211+
name: "release"
164212
runs-on: ubuntu-latest
165213
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
166-
needs: [linux, musllinux, windows, macos, sdist]
214+
needs: [linux, musllinux, windows, macos, build-sdist]
167215
permissions:
168216
# Use to sign the release artifacts
169217
id-token: write
@@ -172,16 +220,18 @@ jobs:
172220
# Used to generate artifact attestation
173221
attestations: write
174222
steps:
175-
- uses: actions/download-artifact@v4
176-
- name: Generate artifact attestation
177-
uses: actions/attest-build-provenance@v2
223+
- uses: actions/download-artifact@v5.0.0
224+
- name: "Generate artifact attestation"
225+
uses: actions/attest-build-provenance@v3.0.0
178226
with:
179-
subject-path: 'wheels-*/*'
180-
- name: Publish to PyPI
227+
subject-path: "wheels-*/*"
228+
229+
- name: "Publish to PyPI"
181230
if: ${{ startsWith(github.ref, 'refs/tags/') }}
182-
uses: PyO3/maturin-action@v1
231+
uses: PyO3/maturin-action@v1.49.4
183232
env:
184233
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
234+
185235
with:
186236
command: upload
187237
args: --non-interactive --skip-existing wheels-*/*

.github/workflows/python-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ jobs:
2020
- "3.11"
2121
- "3.12"
2222
- "3.13"
23+
- "3.13t"
2324
- "3.14"
2425
- "3.14t"
25-
- "pypy3.10"
2626
- "pypy3.11"
2727

2828
runs-on: ubuntu-latest

Cargo.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)