1- # This file is autogenerated by maturin v1.9.5
2- # To update, run
3- #
4- # maturin generate-ci github
5- #
6- name : CI
1+ name : Build-test
72
83on :
94 push :
10- branches :
11- - main
12- - master
13- tags :
14- - ' *'
5+ branches : [main, master]
156 pull_request :
16- workflow_dispatch :
17-
18- permissions :
19- contents : read
7+ branches : [main, master]
208
219jobs :
22- linux :
23- runs-on : ${{ matrix.platform.runner }}
24- strategy :
25- matrix :
26- platform :
27- - runner : ubuntu-22.04
28- target : x86_64
29- - runner : ubuntu-22.04
30- target : x86
31- - runner : ubuntu-22.04
32- target : aarch64
33- - runner : ubuntu-22.04
34- target : armv7
35- - runner : ubuntu-22.04
36- target : s390x
37- - runner : ubuntu-22.04
38- target : ppc64le
39- steps :
40- - uses : actions/checkout@v4
41- - uses : actions/setup-python@v5
42- with :
43- python-version : 3.x
44- - name : Build wheels
45- uses : PyO3/maturin-action@v1
46- with :
47- target : ${{ matrix.platform.target }}
48- args : --release --out dist --find-interpreter
49- sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
50- manylinux : auto
51- - name : Upload wheels
52- uses : actions/upload-artifact@v4
53- with :
54- name : wheels-linux-${{ matrix.platform.target }}
55- path : dist
56-
57- musllinux :
58- runs-on : ${{ matrix.platform.runner }}
59- strategy :
60- matrix :
61- platform :
62- - runner : ubuntu-22.04
63- target : x86_64
64- - runner : ubuntu-22.04
65- target : x86
66- - runner : ubuntu-22.04
67- target : aarch64
68- - runner : ubuntu-22.04
69- target : armv7
70- steps :
71- - uses : actions/checkout@v4
72- - uses : actions/setup-python@v5
73- with :
74- python-version : 3.x
75- - name : Build wheels
76- uses : PyO3/maturin-action@v1
77- with :
78- target : ${{ matrix.platform.target }}
79- args : --release --out dist --find-interpreter
80- sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
81- manylinux : musllinux_1_2
82- - name : Upload wheels
83- uses : actions/upload-artifact@v4
84- with :
85- name : wheels-musllinux-${{ matrix.platform.target }}
86- path : dist
87-
88- windows :
89- runs-on : ${{ matrix.platform.runner }}
90- strategy :
91- matrix :
92- platform :
93- - runner : windows-latest
94- target : x64
95- - runner : windows-latest
96- target : x86
97- steps :
98- - uses : actions/checkout@v4
99- - uses : actions/setup-python@v5
100- with :
101- python-version : 3.x
102- architecture : ${{ matrix.platform.target }}
103- - name : Build wheels
104- uses : PyO3/maturin-action@v1
105- with :
106- target : ${{ matrix.platform.target }}
107- args : --release --out dist --find-interpreter
108- sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
109- - name : Upload wheels
110- uses : actions/upload-artifact@v4
111- with :
112- name : wheels-windows-${{ matrix.platform.target }}
113- path : dist
114-
115- macos :
116- runs-on : ${{ matrix.platform.runner }}
117- strategy :
118- matrix :
119- platform :
120- - runner : macos-13
121- target : x86_64
122- - runner : macos-14
123- target : aarch64
124- steps :
125- - uses : actions/checkout@v4
126- - uses : actions/setup-python@v5
127- with :
128- python-version : 3.x
129- - name : Build wheels
130- uses : PyO3/maturin-action@v1
131- with :
132- target : ${{ matrix.platform.target }}
133- args : --release --out dist --find-interpreter
134- sccache : ${{ !startsWith(github.ref, 'refs/tags/') }}
135- - name : Upload wheels
136- uses : actions/upload-artifact@v4
137- with :
138- name : wheels-macos-${{ matrix.platform.target }}
139- path : dist
140-
141- sdist :
10+ test :
11+ name : Run Rust tests
14212 runs-on : ubuntu-latest
14313 steps :
14414 - uses : actions/checkout@v4
145- - name : Build sdist
146- uses : PyO3/maturin-action@v1
147- with :
148- command : sdist
149- args : --out dist
150- - name : Upload sdist
151- uses : actions/upload-artifact@v4
152- with :
153- name : wheels-sdist
154- path : dist
155-
156- release :
157- name : Release
158- runs-on : ubuntu-latest
159- if : ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
160- needs : [linux, musllinux, windows, macos, sdist]
161- permissions :
162- # Use to sign the release artifacts
163- id-token : write
164- # Used to upload release artifacts
165- contents : write
166- # Used to generate artifact attestation
167- attestations : write
168- steps :
169- - uses : actions/download-artifact@v4
170- - name : Generate artifact attestation
171- uses : actions/attest-build-provenance@v2
172- with :
173- subject-path : ' wheels-*/*'
174- - name : Publish to PyPI
175- if : ${{ startsWith(github.ref, 'refs/tags/') }}
176- uses : PyO3/maturin-action@v1
177- env :
178- MATURIN_PYPI_TOKEN : ${{ secrets.PYPI_API_TOKEN }}
179- with :
180- command : upload
181- args : --non-interactive --skip-existing wheels-*/*
15+
16+ - name : Set up Rust
17+ uses : actions-rust-lang/setup-rust-toolchain@v1
18+
19+ - name : Run tests
20+ run : cargo test core --no-default-features
21+
22+ - name : Check code formatting
23+ run : cargo fmt -- --check
24+ continue-on-error : true
25+
26+ - name : Run clippy
27+ run : cargo clippy -- -D warnings
28+ continue-on-error : true
0 commit comments