@@ -17,37 +17,24 @@ jobs:
1717 steps :
1818 - name : Checkout code
1919 uses : actions/checkout@v4
20-
21- - name : Set up Python ${{ matrix.python-version }}
22- uses : actions/setup-python@v5
23- with :
24- python-version : ${{ matrix.python-version }}
25-
26- - name : Install Poetry
27- uses : snok/install-poetry@v1.3.4
28- with :
29- version : latest
30- virtualenvs-create : true
31- virtualenvs-in-project : true
32-
33- - name : Load cached venv
34- id : cached-poetry-dependencies
20+
21+ - name : Install uv
22+ uses : astral-sh/setup-uv@v1
23+
24+ - name : Ensure Python ${{ matrix.python-version }}
25+ run : uv python install ${{ matrix.python-version }}
26+
27+ - name : Cache virtual environment
28+ id : cache-uv-venv
3529 uses : actions/cache@v4
3630 with :
3731 path : .venv
38- key : venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
39-
40- - name : Install dependencies
41- if : steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
42- run : poetry install --no-interaction --no-root --extras "all"
43-
44- - name : Install project
45- run : poetry install --no-interaction --extras "all"
46-
47- - name : Run tests
48- run : poetry run pytest tests/ -v
49-
32+ key : uv-venv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
33+
34+ - name : Sync dependencies
35+ run : uv sync --all-extras --python ${{ matrix.python-version }}
36+
5037 - name : Run tests with coverage
5138 run : |
52- poetry run pytest tests/ --cov=pyspark_datasources --cov-report=xml --cov-report=term-missing
39+ uv run pytest tests/ --cov=pyspark_datasources --cov-report=xml --cov-report=term-missing
5340
0 commit comments