@@ -26,13 +26,14 @@ jobs:
26
26
projects : ${{ steps.set-projects.outputs.projects }}
27
27
steps :
28
28
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
29
- - name : Find all Python projects with pyproject.toml
29
+ - name : Find all projects with pyproject.toml
30
30
id : set-projects
31
31
run : |
32
32
# grabs all paths with pyproject.toml, snips the 2nd dir, grabs only unique ones, makes a JSON list
33
- projects=$(find python -mindepth 2 -name pyproject.toml | awk -F/ '{print $2}' | sort -u | jq -R -s -c 'split("\n")[:-1]')
33
+ projects=$(find python -mindepth 2 ! -wholename 'python/understack-tests/*' -name pyproject.toml | awk -F/ '{print $2}' | sort -u | jq -R -s -c 'split("\n")[:-1]')
34
34
echo "projects=$projects" >> "$GITHUB_OUTPUT"
35
- python :
35
+
36
+ uv :
36
37
needs : [discover]
37
38
runs-on : ubuntu-latest
38
39
@@ -46,22 +47,22 @@ jobs:
46
47
47
48
steps :
48
49
- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
49
- - run : pipx install poetry==1.7.1 && poetry self add 'poetry-dynamic-versioning[plugin]'
50
- - uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
50
+ - uses : astral-sh/setup-uv@bd01e18f51369d5a26f1651c3cb451d3417e3bba # v6
51
+ - uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
51
52
with :
52
53
python-version-file : python/${{ matrix.project }}/pyproject.toml
53
- cache : " poetry"
54
- - run : poetry install --sync --with test
55
- - run : poetry build
56
- - run : " poetry run pytest --cov --cov-report xml:coverage.xml"
57
- - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
54
+ - run : uv sync
55
+ - run : uv build --wheel
56
+ - run : " uv run pytest --cov --cov-report xml:coverage.xml"
57
+ - uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
58
58
with :
59
59
name : coverage-${{ matrix.project }}
60
60
path : python/${{ matrix.project }}/coverage.xml
61
61
retention-days : 1
62
62
63
+
63
64
coverage-upload :
64
- needs : python
65
+ needs : [uv]
65
66
runs-on : ubuntu-latest
66
67
steps :
67
68
- uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
0 commit comments