@@ -11,14 +11,21 @@ concurrency:
11
11
group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
12
12
cancel-in-progress : true
13
13
14
+ env :
15
+ UV_FROZEN : 1
16
+
14
17
jobs :
15
18
lint :
16
- timeout-minutes : 1
17
19
runs-on : ubuntu-latest
20
+ timeout-minutes : 2
18
21
19
22
steps :
20
23
- uses : actions/checkout@v4
21
24
25
+ - uses : scientific-python/repo-review@v0.11.3
26
+ with :
27
+ plugins : sp-repo-review
28
+
22
29
- name : markdownlint
23
30
uses : DavidAnson/markdownlint-cli2-action@v19
24
31
with :
@@ -28,10 +35,21 @@ jobs:
28
35
- name : typos
29
36
uses : crate-ci/typos@master
30
37
38
+ - uses : astral-sh/setup-uv@v5
39
+ with :
40
+ enable-cache : true
41
+ python-version : " 3.13"
42
+ version : latest
43
+
44
+ - name : ruff
45
+ run : |
46
+ uv run ruff check --output-format=github
47
+ uv run ruff format --check
48
+
31
49
generate-matrix :
32
50
name : Generate Test Matrix
33
- timeout-minutes : 1
34
51
runs-on : ubuntu-latest
52
+ timeout-minutes : 1
35
53
36
54
outputs :
37
55
matrix : ${{ steps.set-matrix.outputs.matrix }}
@@ -41,10 +59,10 @@ jobs:
41
59
42
60
- name : Install uv
43
61
uses : astral-sh/setup-uv@v5
44
-
45
- - name : Install dependencies
46
- run : |
47
- uv sync --locked
62
+ with :
63
+ enable-cache : true
64
+ python-version : " 3.13 "
65
+ version : latest
48
66
49
67
- name : Generate Matrix
50
68
id : set-matrix
55
73
56
74
typetest :
57
75
needs : generate-matrix
58
- timeout-minutes : 3
59
76
runs-on : ubuntu-latest
77
+ timeout-minutes : 3
60
78
61
79
strategy :
62
80
fail-fast : false
@@ -65,31 +83,32 @@ jobs:
65
83
steps :
66
84
- uses : actions/checkout@v4
67
85
68
- - name : Install uv
86
+ - name : setup uv
69
87
uses : astral-sh/setup-uv@v5
70
88
with :
71
89
enable-cache : true
72
90
python-version : ${{ matrix.python }}
73
91
74
- - name : setup tox
75
- run : uv tool install tox --with tox-uv
76
-
77
- - name : Install dependencies
78
- run : |
79
- rm -rf .venv
80
- uv add --no-build-package=numpy "numpy<=${{ matrix.numpy }}"
81
-
82
- - name : Run typetest
83
- run : uv run tox -e=typetest
84
-
85
- - name : Run stubtest
86
- run : uv run tox -e=stubtest
87
-
88
- - name : lint
89
- run : uv run tox -e=lint
92
+ - name : basedpyright
93
+ run : >
94
+ uv run --with="numpy==${{ matrix.numpy }}"
95
+ basedpyright
90
96
91
97
- name : basedmypy
92
- run : uv run tox -e=mypy
93
-
94
- - name : basedpyright
95
- run : uv run tox -e=pyright
98
+ run : >
99
+ uv run --with="numpy==${{ matrix.numpy }}"
100
+ run mypy
101
+ --tb
102
+ --hide-error-context
103
+ --hide-error-code-links
104
+ .
105
+
106
+ - name : stubtest
107
+ run : >
108
+ uv run --with="numpy==${{ matrix.numpy }}" --no-editable
109
+ stubtest
110
+ --tb
111
+ --ignore-unused-allowlist
112
+ --allowlist=.mypyignore
113
+ --mypy-config-file=pyproject.toml
114
+ scipy
0 commit comments