|
9 | 9 | jobs: |
10 | 10 | lint: |
11 | 11 | runs-on: ubuntu-latest |
| 12 | + continue-on-error: ${{ matrix.experimental || false }} |
12 | 13 | strategy: |
13 | 14 | fail-fast: false |
14 | 15 | matrix: |
15 | | - python-version: ["3.10", "3.11", "3.12"] |
| 16 | + include: |
| 17 | + - python-version: "3.9" |
| 18 | + pyright-version: "3.9" |
| 19 | + - python-version: "3.10" |
| 20 | + pyright-version: "3.10" |
| 21 | + - python-version: "3.11" |
| 22 | + pyright-version: "3.11" |
| 23 | + - python-version: "3.12" |
| 24 | + pyright-version: "3.12" |
| 25 | + - python-version: "3.13" |
| 26 | + pyright-version: "3.13" |
| 27 | + - python-version: "3.14" |
| 28 | + pyright-version: "3.14" |
| 29 | + - python-version: "3.15-dev" |
| 30 | + pyright-version: "3.14" |
| 31 | + experimental: true |
16 | 32 |
|
17 | 33 | steps: |
18 | 34 | - uses: actions/checkout@v4 |
|
23 | 39 | uses: actions/setup-python@v5 |
24 | 40 | with: |
25 | 41 | python-version: ${{ matrix.python-version }} |
| 42 | + allow-prereleases: true |
26 | 43 |
|
27 | 44 | - name: Install dependencies |
28 | 45 | run: | |
@@ -61,20 +78,30 @@ jobs: |
61 | 78 | while IFS= read -r f; do [ -f "$f" ] && echo "$f"; done < changed.txt | xargs -r ruff format --check --config ruff.toml |
62 | 79 |
|
63 | 80 | - name: Run pyright |
| 81 | + if: ${{ matrix.python-version != '3.15-dev' }} |
64 | 82 | run: | |
65 | | - pyright --pythonversion ${{ matrix.python-version }} src tests examples |
| 83 | + pyright --pythonversion ${{ matrix.pyright-version }} src |
66 | 84 |
|
67 | 85 | - name: Check minimum Python version (vermin) |
68 | 86 | run: | |
69 | | - vermin --target=3.10- --violations --eval-annotations --backport typing_extensions --exclude=venv --exclude=build --exclude=.git --exclude=.venv src examples tests |
| 87 | + vermin --target=3.9- --violations --eval-annotations --backport typing_extensions --exclude=venv --exclude=build --exclude=.git --exclude=.venv src examples tests |
70 | 88 |
|
71 | 89 | test: |
72 | 90 | name: test (py ${{ matrix.python-version }}) |
73 | 91 | runs-on: ubuntu-latest |
| 92 | + continue-on-error: ${{ matrix.experimental || false }} |
74 | 93 | strategy: |
75 | 94 | fail-fast: false |
76 | 95 | matrix: |
77 | | - python-version: ["3.10", "3.11", "3.12"] |
| 96 | + include: |
| 97 | + - python-version: "3.9" |
| 98 | + - python-version: "3.10" |
| 99 | + - python-version: "3.11" |
| 100 | + - python-version: "3.12" |
| 101 | + - python-version: "3.13" |
| 102 | + - python-version: "3.14" |
| 103 | + - python-version: "3.15-dev" |
| 104 | + experimental: true |
78 | 105 |
|
79 | 106 | steps: |
80 | 107 | - uses: actions/checkout@v4 |
|
83 | 110 | uses: actions/setup-python@v5 |
84 | 111 | with: |
85 | 112 | python-version: ${{ matrix.python-version }} |
| 113 | + allow-prereleases: true |
86 | 114 |
|
87 | 115 | - name: Install dependencies |
88 | 116 | run: | |
|
0 commit comments