1919 - cron : " 0 0 * * 1"
2020
2121env :
22- UV_SYSTEM_PYTHON : 1
22+ UV_NO_SYNC : true
2323
2424jobs :
2525 test :
4848 python-version : " 3.13"
4949 fail-fast : false
5050 runs-on : ${{ matrix.os }}
51+ env :
52+ UV_PYTHON : ${{ matrix.python-version }}
5153 steps :
5254 - uses : actions/checkout@v6
5355 - name : Set up Python
@@ -57,22 +59,23 @@ jobs:
5759 - name : Setup uv
5860 uses : astral-sh/setup-uv@v7
5961 with :
60- version : " 0.4.15"
6162 enable-cache : true
6263 cache-dependency-glob : |
63- requirements**.txt
6464 pyproject.toml
65+ uv.lock
6566 # Allow debugging with tmate
6667 - name : Setup tmate session
6768 uses : mxschmitt/action-tmate@v3
6869 if : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled == 'true' }}
6970 with :
7071 limit-access-to-actor : true
7172 - name : Install Dependencies
72- run : uv pip install -r requirements-tests.txt
73+ run : uv sync --locked --group tests
74+ - name : Lint
75+ run : uv run bash scripts/lint.sh
7376 - run : mkdir coverage
7477 - name : Test
75- run : bash scripts/test.sh
78+ run : uv run bash scripts/test.sh
7679 env :
7780 COVERAGE_FILE : coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
7881 CONTEXT : ${{ runner.os }}-py${{ matrix.python-version }}
@@ -91,15 +94,14 @@ jobs:
9194 - uses : actions/checkout@v6
9295 - uses : actions/setup-python@v6
9396 with :
94- python-version : ' 3.13 '
97+ python-version-file : " .python-version "
9598 - name : Setup uv
9699 uses : astral-sh/setup-uv@v7
97100 with :
98- version : " 0.4.15"
99101 enable-cache : true
100102 cache-dependency-glob : |
101- requirements**.txt
102103 pyproject.toml
104+ uv.lock
103105 - name : Get coverage files
104106 uses : actions/download-artifact@v7
105107 with :
@@ -113,17 +115,17 @@ jobs:
113115 with :
114116 limit-access-to-actor : true
115117 - name : Install Dependencies
116- run : uv pip install -r requirements- tests.txt
118+ run : uv sync --locked --group tests
117119 - run : ls -la coverage
118- - run : coverage combine coverage
119- - run : coverage html --title "Coverage for ${{ github.sha }}"
120+ - run : uv run coverage combine coverage
121+ - run : uv run coverage html --title "Coverage for ${{ github.sha }}"
120122 - name : Store coverage HTML
121123 uses : actions/upload-artifact@v6
122124 with :
123125 name : coverage-html
124126 path : htmlcov
125127 include-hidden-files : true
126- - run : coverage report --fail-under=100
128+ - run : uv run coverage report --fail-under=100
127129
128130 # https://github.com/marketplace/actions/alls-green#why
129131 alls-green : # This job does nothing and is only used for the branch protection
0 commit comments