Skip to content

Commit db06d38

Browse files
committed
feat(ci): run testsuite
1 parent bee389d commit db06d38

2 files changed

Lines changed: 50 additions & 2 deletions

File tree

.github/workflows/ci.yml

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,45 @@ permissions:
1717
contents: read
1818

1919
jobs:
20+
test:
21+
runs-on: ${{ matrix.os }}
22+
strategy:
23+
matrix:
24+
os:
25+
- ubuntu-latest
26+
python-version:
27+
- '3.10'
28+
- '3.11'
29+
- '3.12'
30+
- '3.13'
31+
- '3.14'
32+
include:
33+
- os: windows-latest
34+
python-version: '3.14'
35+
- os: macos-latest
36+
python-version: '3.14'
37+
- os: ubuntu-24.04-arm
38+
python-version: '3.14'
39+
name: ${{ matrix.os }}, Python ${{ matrix.python-version }}
40+
steps:
41+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
42+
with:
43+
persist-credentials: false
44+
- name: Set up Python ${{ matrix.python-version }}
45+
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
46+
id: setup_python
47+
with:
48+
python-version: ${{ matrix.python-version }}
49+
- uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2 # zizmor: ignore[cache-poisoning]
50+
# The cache is stored only on main branch and not used for publishing
51+
with:
52+
save-cache: ${{ github.ref == 'refs/heads/main' }}
53+
cache-suffix: ${{ steps.setup_python.outputs.python-version }}
54+
version: 0.9.13
55+
- run: uv sync
56+
- run: pytest
57+
58+
2059
linux:
2160
runs-on: ${{ matrix.platform.runner }}
2261
strategy:
@@ -225,7 +264,7 @@ jobs:
225264
name: Release
226265
runs-on: ubuntu-latest
227266
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
228-
needs: [linux, musllinux, windows, macos, sdist]
267+
needs: [test, linux, musllinux, windows, macos, sdist]
229268
permissions:
230269
# Use to sign the release artifacts
231270
id-token: write
@@ -254,7 +293,7 @@ jobs:
254293
name: Create release on GitHub
255294
permissions:
256295
contents: write
257-
needs: [linux, musllinux, windows, macos, sdist]
296+
needs: [test, linux, musllinux, windows, macos, sdist]
258297
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
259298
steps:
260299
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0

pyproject.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
build-backend = "maturin"
33
requires = ["maturin>=1.10.0,<2.0"]
44

5+
[dependency-groups]
6+
dev = [
7+
"maturin==1.10.2",
8+
{include-group = "pre-commit"}
9+
]
10+
pre-commit = [
11+
"pre-commit==4.5.0"
12+
]
13+
514
[project]
615
classifiers = [
716
"Programming Language :: Rust",

0 commit comments

Comments
 (0)