@@ -26,24 +26,31 @@ jobs:
2626 working-directory : .
2727
2828 steps :
29- - uses : actions/checkout@v3
30- - name : Set up Python ${{ matrix.python-version }}
31- uses : actions/setup-python@v4
29+ - uses : actions/checkout@v4
30+
31+ # use github python action instead of uv to take advantage of caching
32+ - name : Set up Python ${{ matrix.python }}
33+ uses : actions/setup-python@v5
3234 with :
3335 python-version : ${{ matrix.python }}
34- cache : ' pip'
35- cache-dependency-path : ' **/pyproject.toml'
36- - name : Install package with dependencies
37- run : pip install -e ".[test]"
36+
37+ - name : Install uv
38+ uses : astral-sh/setup-uv@v5
39+ with :
40+ enable-cache : true
41+ cache-dependency-glob : " pyproject.toml"
42+
43+ - name : Install package with dev and test dependencies
44+ run : uv sync --extra test
3845
3946 # for all versions but the one we use for code coverage, run normally
4047 - name : Run unit tests normally
41- run : pytest
48+ run : uv run pytest
4249 if : ${{ matrix.python != env.COV_PYTHON_VERSION }}
4350
4451 # run code coverage in one version only
4552 - name : Run unit tests with code coverage reporting
46- run : pytest --cov=undate
53+ run : uv run pytest --cov=undate
4754 if : ${{ matrix.python == env.COV_PYTHON_VERSION }}
4855 - name : Upload test coverage to Codecov
4956 uses : codecov/codecov-action@v3
0 commit comments