@@ -31,12 +31,14 @@ jobs:
3131 with:
3232 args: "format --check"
3333 {% - endif %}
34+
3435 ruff-lint:
3536 if: {% raw %} ${{ always() }}{% endraw %}
3637 runs-on: ubuntu-latest
3738 steps:
3839 - uses: actions/checkout@v4
3940 - uses: astral-sh/ruff-action@v3
41+
4042 pre-commit:
4143 if: {% raw %} ${{ always() }}{% endraw %}
4244 env:
4749 - uses: actions/setup-python@v5
4850 - uses: astral-sh/setup-uv@v5
4951 - uses: pre-commit/
[email protected] 50- test:
52+
53+ test-python:
5154 if: {% raw %} ${{ always() }}{% endraw %}
5255 runs-on: ubuntu-latest
5356 strategy:
@@ -71,27 +74,38 @@ jobs:
7174 {% - if python_minor <= 13 %}
7275 - "3.13"
7376 {% - endif %}
74- allow-failure: [false]
7577 include:
7678 # map resolution to resolution-args
7779 - resolution: "highest"
7880 resolution-args: "--upgrade --resolution highest"
7981 - resolution: "lowest"
8082 resolution-args: "--upgrade --resolution lowest-direct"
81- # add current versions from lockfile
82- - resolution: "no-upgrade"
83- resolution-args: "--no-upgrade"
84- python-version: "3.{{ python_minor }}"
85- # add prerelease versions
86- - resolution: "prerelease"
87- resolution-args: "--upgrade --resolution highest --prerelease allow"
88- python-version: "3.13"
89- allow-failure: true
83+ name: {% raw %} test-py${{ matrix.python-version }}-${{ matrix.resolution }}{% endraw %}
84+ steps:
85+ - uses: actions/checkout@v4
86+ - uses: astral-sh/setup-uv@v5
87+ with:
88+ python-version: {% raw %} ${{ matrix.python-version }}{% endraw %}
89+ - name: Install the project
90+ run: uv sync --all-extras --group test {% raw %} ${{ matrix.resolution-args }}{% endraw %}
91+ - name: Run tests
92+ run: uv run pytest
93+
94+ test-prerelease:
95+ if: {% raw %} ${{ always() }}{% endraw %}
96+ runs-on: ubuntu-latest
97+ strategy:
98+ matrix:
99+ resolution:
100+ - "prerelease"
101+ python-version:
102+ - "3.13"
103+ - "3.14"
104+ include:
105+ # map resolution to resolution-args
90106 - resolution: "prerelease"
91107 resolution-args: "--upgrade --resolution highest --prerelease allow"
92- python-version: "3.14"
93- allow-failure: true
94- continue-on-error: {% raw %} ${{ matrix.allow-failure }}{% endraw %}
108+ continue-on-error: true
95109 name: {% raw %} test-py${{ matrix.python-version }}-${{ matrix.resolution }}{% endraw %}
96110 steps:
97111 - uses: actions/checkout@v4
@@ -102,3 +116,31 @@ jobs:
102116 run: uv sync --all-extras --group test {% raw %} ${{ matrix.resolution-args }}{% endraw %}
103117 - name: Run tests
104118 run: uv run pytest
119+
120+ test-system:
121+ if: {% raw %} ${{ always() }}{% endraw %}
122+ runs-on: {% raw %} ${{ matrix.os }}{% endraw %}
123+ strategy:
124+ matrix:
125+ os:
126+ - ubuntu-latest
127+ - macos-latest
128+ - windows-latest
129+ resolution:
130+ - "no-upgrade"
131+ python-version:
132+ - "3.{{ python_minor }}"
133+ include:
134+ # map resolution to resolution-args
135+ - resolution: "no-upgrade"
136+ resolution-args: "--no-upgrade"
137+ name: {% raw %} test-py${{ matrix.python-version }}-${{ matrix.resolution }}-${{ matrix.os }}{% endraw %}
138+ steps:
139+ - uses: actions/checkout@v4
140+ - uses: astral-sh/setup-uv@v5
141+ with:
142+ python-version: {% raw %} ${{ matrix.python-version }}{% endraw %}
143+ - name: Install the project
144+ run: uv sync --all-extras --group test {% raw %} ${{ matrix.resolution-args }}{% endraw %}
145+ - name: Run tests
146+ run: uv run pytest
0 commit comments