66
77env :
88 PYTHON_VERSION : " 3.11"
9- POETRY_VERSION : " 2.0.1 "
9+ UV_VERSION : " 0.7.13 "
1010
1111jobs :
1212 build :
1313 runs-on : ubuntu-latest
1414
1515 steps :
16- - uses : actions/checkout@v4
16+ - name : Check out repository
17+ uses : actions/checkout@v4
1718
18- - name : Set up Python
19- uses : actions/setup-python@v4
19+ - name : Install Python
20+ uses : actions/setup-python@v5
2021 with :
2122 python-version : ${{ env.PYTHON_VERSION }}
2223
23- - name : Install Poetry
24- uses : snok/install-poetry@v1
24+ - name : Install uv
25+ uses : astral-sh/setup-uv@v6
2526 with :
26- version : ${{ env.POETRY_VERSION }}
27+ version : ${{ env.UV_VERSION }}
28+ enable-cache : true
29+ python-version : ${{ env.PYTHON_VERSION }} # sets UV_PYTHON
30+ cache-dependency-glob : |
31+ pyproject.toml
32+ uv.lock
33+
34+ - name : Install dependencies
35+ run : |
36+ uv sync --frozen
2737
2838 - name : Build package
29- run : poetry build
39+ run : uv build
3040
3141 - name : Upload build
3242 uses : actions/upload-artifact@v4
@@ -39,24 +49,35 @@ jobs:
3949 runs-on : ubuntu-latest
4050
4151 steps :
42- - uses : actions/checkout@v4
52+ - name : Check out repository
53+ uses : actions/checkout@v4
4354
44- - name : Set up Python
45- uses : actions/setup-python@v4
55+ - name : Install Python
56+ uses : actions/setup-python@v5
4657 with :
4758 python-version : ${{ env.PYTHON_VERSION }}
4859
49- - name : Install Poetry
50- uses : snok/install-poetry@v1
60+ - name : Install uv
61+ uses : astral-sh/setup-uv@v6
5162 with :
52- version : ${{ env.POETRY_VERSION }}
63+ version : ${{ env.UV_VERSION }}
64+ enable-cache : true
65+ python-version : ${{ env.PYTHON_VERSION }} # sets UV_PYTHON
66+ cache-dependency-glob : |
67+ pyproject.toml
68+ uv.lock
69+
70+ - name : Install dependencies
71+ run : |
72+ uv sync --frozen
5373
54- - uses : actions/download-artifact@v4
74+ - name : Download build artifacts
75+ uses : actions/download-artifact@v4
5576 with :
5677 name : dist
5778 path : dist/
5879
5980 - name : Publish to PyPI
6081 env :
61- POETRY_PYPI_TOKEN_PYPI : ${{ secrets.PYPI }}
62- run : poetry publish
82+ UV_PUBLISH_TOKEN : ${{ secrets.PYPI }}
83+ run : uv publish
0 commit comments