@@ -12,21 +12,22 @@ jobs:
1212 fail-fast : false
1313 matrix :
1414 include :
15- - { python: "3.12 ", os: "ubuntu-latest", session: "pre-commit" }
16- - { python: "3.12 ", os: "ubuntu-latest", session: "safety " }
15+ - { python: "3.13 ", os: "ubuntu-latest", session: "pre-commit" }
16+ - { python: "3.13 ", os: "ubuntu-latest", session: "mypy " }
1717 - { python: "3.12", os: "ubuntu-latest", session: "mypy" }
1818 - { python: "3.11", os: "ubuntu-latest", session: "mypy" }
1919 - { python: "3.10", os: "ubuntu-latest", session: "mypy" }
2020 - { python: "3.9", os: "ubuntu-latest", session: "mypy" }
21+ - { python: "3.13", os: "ubuntu-latest", session: "tests" }
2122 - { python: "3.12", os: "ubuntu-latest", session: "tests" }
2223 - { python: "3.11", os: "ubuntu-latest", session: "tests" }
2324 - { python: "3.10", os: "ubuntu-latest", session: "tests" }
2425 - { python: "3.9", os: "ubuntu-latest", session: "tests" }
25- - { python: "3.12 ", os: "windows-latest", session: "tests" }
26- - { python: "3.12 ", os: "macos-latest", session: "tests" }
27- - { python: "3.12 ", os: "ubuntu-latest", session: "typeguard" }
28- - { python: "3.12 ", os: "ubuntu-latest", session: "xdoctest" }
29- - { python: "3.12 ", os: "ubuntu-latest", session: "docs-build" }
26+ - { python: "3.13 ", os: "windows-latest", session: "tests" }
27+ - { python: "3.13 ", os: "macos-latest", session: "tests" }
28+ - { python: "3.13 ", os: "ubuntu-latest", session: "typeguard" }
29+ - { python: "3.13 ", os: "ubuntu-latest", session: "xdoctest" }
30+ - { python: "3.13 ", os: "ubuntu-latest", session: "docs-build" }
3031
3132 steps :
3233 - name : Check out the repository
@@ -42,10 +43,12 @@ jobs:
4243 pip install --constraint=.github/workflows/constraints.txt pip
4344 pip --version
4445
45- - name : Install Hatch
46+ - name : Install UV
47+ uses : astral-sh/setup-uv@v5
48+
49+ - name : Install Nox
4650 run : |
47- pipx install --pip-args=--constraint=.github/workflows/hatch-constraints.txt hatch
48- hatch --version
51+ uv sync --all-extras --frozen
4952
5053 - name : Compute pre-commit cache key
5154 if : matrix.session == 'pre-commit'
7174 restore-keys : |
7275 ${{ steps.pre-commit-cache.outputs.result }}-
7376
74- - name : Run Hatch
77+ - name : Run Nox
7578 run : |
76- hatch run +python=${{ matrix.python }} sessions:run- ${{ matrix.session }}
79+ uv run nox -s tests --force-color --python= ${{ matrix.python }}
7780
7881 - name : Upload coverage data
7982 if : always() && matrix.session == 'tests' && matrix.os == 'ubuntu-latest'
@@ -100,33 +103,32 @@ jobs:
100103 - name : Set up Python
101104 uses : actions/setup-python@v5
102105 with :
103- python-version : " 3.12 "
106+ python-version : " 3.13 "
104107
105108 - name : Upgrade pip
106109 run : |
107110 pip install --constraint=.github/workflows/constraints.txt pip
108111 pip --version
109112
110- - name : Install Hatch
111- run : |
112- pipx install --pip-args=--constraint=.github/workflows/hatch-constraints.txt hatch
113- hatch --version
113+ - name : Install UV
114+ uses : astral-sh/setup-uv@v5
114115
115116 - name : Download coverage data
116117 uses : actions/download-artifact@v4
117118
118119 - name : Combine coverage data and display human readable report
119120 run : |
120121 shopt -s dotglob
122+ mv coverage-data-3.13-ubuntu-latest/* .
121123 mv coverage-data-3.12-ubuntu-latest/* .
122124 mv coverage-data-3.11-ubuntu-latest/* .
123125 mv coverage-data-3.10-ubuntu-latest/* .
124126 mv coverage-data-3.9-ubuntu-latest/* .
125- hatch run coverage:run
127+ uv run nox --force-color --session= coverage
126128
127129 - name : Create coverage report
128130 run : |
129- hatch run coverage:run- xml
131+ uv run nox --force-color --session= coverage -- xml
130132
131133 - name : Upload coverage report
132134 uses : codecov/codecov-action@v5
0 commit comments