1313 matrix :
1414 include :
1515 - { python: "3.13", os: "ubuntu-latest", session: "pre-commit" }
16- - { python: "3.13", os: "ubuntu-latest", session: "safety" }
1716 - { python: "3.13", os: "ubuntu-latest", session: "mypy" }
1817 - { python: "3.12", os: "ubuntu-latest", session: "mypy" }
1918 - { python: "3.11", os: "ubuntu-latest", session: "mypy" }
@@ -44,10 +43,12 @@ jobs:
4443 pip install --constraint=.github/workflows/constraints.txt pip
4544 pip --version
4645
47- - name : Install Hatch
46+ - name : Install UV
47+ uses : astral-sh/setup-uv@v5
48+
49+ - name : Install Nox
4850 run : |
49- pipx install --pip-args=--constraint=.github/workflows/hatch-constraints.txt hatch
50- hatch --version
51+ uv sync --all-extras --frozen
5152
5253 - name : Compute pre-commit cache key
5354 if : matrix.session == 'pre-commit'
7374 restore-keys : |
7475 ${{ steps.pre-commit-cache.outputs.result }}-
7576
76- - name : Run Hatch
77+ - name : Run Nox
7778 run : |
78- hatch run +python=${{ matrix.python }} sessions:run- ${{ matrix.session }}
79+ uv run nox -s tests --force-color --python= ${{ matrix.python }}
7980
8081 - name : Upload coverage data
8182 if : always() && matrix.session == 'tests' && matrix.os == 'ubuntu-latest'
@@ -109,10 +110,8 @@ jobs:
109110 pip install --constraint=.github/workflows/constraints.txt pip
110111 pip --version
111112
112- - name : Install Hatch
113- run : |
114- pipx install --pip-args=--constraint=.github/workflows/hatch-constraints.txt hatch
115- hatch --version
113+ - name : Install UV
114+ uses : astral-sh/setup-uv@v5
116115
117116 - name : Download coverage data
118117 uses : actions/download-artifact@v4
@@ -125,11 +124,11 @@ jobs:
125124 mv coverage-data-3.11-ubuntu-latest/* .
126125 mv coverage-data-3.10-ubuntu-latest/* .
127126 mv coverage-data-3.9-ubuntu-latest/* .
128- hatch run coverage:run
127+ uv run nox --force-color --session= coverage
129128
130129 - name : Create coverage report
131130 run : |
132- hatch run coverage:run- xml
131+ uv run nox --force-color --session= coverage -- xml
133132
134133 - name : Upload coverage report
135134 uses : codecov/codecov-action@v5
0 commit comments