@@ -37,15 +37,15 @@ jobs:
3737 with :
3838 files : |
3939 **.py
40- poetry .lock
40+ uv .lock
4141
4242 - name : Check changed python files
4343 id : changed-python-files
4444 env :
4545 CHANGED_PYTHON_FILES : ${{ steps.raw-changed-python-files.outputs.all_changed_files }}
4646 run : |
47- if [[ " $CHANGED_PYTHON_FILES " == *" poetry .lock "* ]]; then
48- # if poetry .lock is changed, we need to check everything
47+ if [[ " $CHANGED_PYTHON_FILES " == *" uv .lock "* ]]; then
48+ # if uv .lock is changed, we need to check everything
4949 CHANGED_PYTHON_FILES="."
5050 fi
5151 echo "all_changed_files=$CHANGED_PYTHON_FILES" >> "$GITHUB_OUTPUT"
@@ -57,19 +57,20 @@ jobs:
5757 needs : changed-files
5858 steps :
5959 - uses : actions/checkout@v5
60- - name : Install Python tools
61- uses : BrandonLWhite/pipx-install-action@v1.0.3
62- - uses : actions/setup-python@v6
60+ - name : Setup Python with uv
61+ uses : astral-sh/setup-uv@v7
6362 with :
6463 python-version : ${{ env.PYTHON_VERSION }}
65- cache : poetry
64+ enable- cache : true
6665
6766 - name : Install dependencies
68- run : poetry install --only= lint
67+ run : uv sync --locked --group lint
6968
7069 - name : Check code formatting
7170 # the job output will contain colored diffs with what needs adjusting
72- run : poe check-format --output-format=github ${{ needs.changed-files.outputs.changed_python_files }}
71+ run : |
72+ source .venv/bin/activate
73+ poe check-format --output-format=github ${{ needs.changed-files.outputs.changed_python_files }}
7374
7475 lint :
7576 if : needs.changed-files.outputs.any_python_changed == 'true'
@@ -78,18 +79,18 @@ jobs:
7879 needs : changed-files
7980 steps :
8081 - uses : actions/checkout@v5
81- - name : Install Python tools
82- uses : BrandonLWhite/pipx-install-action@v1.0.3
83- - uses : actions/setup-python@v6
82+ - name : Setup Python with uv
83+ uses : astral-sh/setup-uv@v7
8484 with :
8585 python-version : ${{ env.PYTHON_VERSION }}
86- cache : poetry
87-
86+ enable-cache : true
8887 - name : Install dependencies
89- run : poetry install --only= lint
88+ run : uv sync --locked --group lint
9089
9190 - name : Lint code
92- run : poe lint --output-format=github ${{ needs.changed-files.outputs.changed_python_files }}
91+ run : |
92+ source .venv/bin/activate
93+ poe lint --output-format=github ${{ needs.changed-files.outputs.changed_python_files }}
9394
9495 mypy :
9596 if : needs.changed-files.outputs.any_python_changed == 'true'
@@ -98,21 +99,18 @@ jobs:
9899 needs : changed-files
99100 steps :
100101 - uses : actions/checkout@v5
101- - name : Install Python tools
102- uses : BrandonLWhite/pipx-install-action@v1.0.3
103- - uses : actions/setup-python@v6
102+ - name : Setup Python with uv
103+ uses : astral-sh/setup-uv@v7
104104 with :
105105 python-version : ${{ env.PYTHON_VERSION }}
106- cache : poetry
107-
106+ enable-cache : true
108107 - name : Install dependencies
109- run : poetry install --only=lint
110-
108+ run : uv sync --locked --group test
111109 - name : Type check code
112110 uses : liskin/gh-problem-matcher-wrap@v3
113111 with :
114112 linters : mypy
115- run : poe check-types --show-column-numbers --no-error-summary .
113+ run : uv run poe check-types --show-column-numbers --no-error-summary .
116114
117115 docs :
118116 if : needs.changed-files.outputs.any_docs_changed == 'true'
@@ -121,26 +119,29 @@ jobs:
121119 needs : changed-files
122120 steps :
123121 - uses : actions/checkout@v5
124- - name : Install Python tools
125- uses : BrandonLWhite/pipx-install-action@v1.0.3
126- - uses : actions/setup-python@v6
122+ - name : Setup Python with uv
123+ uses : astral-sh/setup-uv@v7
127124 with :
128125 python-version : ${{ env.PYTHON_VERSION }}
129- cache : poetry
130-
126+ enable-cache : true
131127 - name : Install dependencies
132- run : poetry install --extras= docs
128+ run : uv sync --locked --extra docs --group lint
133129
134130 - name : Add Sphinx problem matchers
135131 run : |
136132 echo "::add-matcher::.github/problem-matchers/sphinx-build.json"
137133 echo "::add-matcher::.github/problem-matchers/sphinx-lint.json"
138134
139135 - name : Check docs formatting
140- run : poe format-docs --check
136+ run : |
137+ source .venv/bin/activate
138+ poe format-docs --check
141139
142140 - name : Lint docs
143- run : poe lint-docs
144-
141+ run : |
142+ source .venv/bin/activate
143+ poe lint-docs
145144 - name : Build docs
146- run : poe docs -- -e 'SPHINXOPTS=--fail-on-warning --keep-going'
145+ run : |
146+ source .venv/bin/activate
147+ poe docs -- -e 'SPHINXOPTS=--fail-on-warning --keep-going'
0 commit comments