call twine by absolute path; PATH does not cross a step boundary

The zig fix worked: both manylinux_2_17 wheels and the sdist built. Then the
Publish step died with 'twine: not found', because the PATH the build step
exported for zig's sake belongs to that step's shell and not the next one, and
the same commit had changed twine to a bare name on the strength of it.

Only the two commands in the build step, where the export actually applies,
are bare now.
This commit is contained in:
funkpower
2026-09-18 14:04:25 -04:00
parent d4750ca814
commit 452d7fc0a1
+4 -2
View File
@@ -70,8 +70,10 @@ jobs:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
run: |
twine check --strict dist/*
# By absolute path: each step gets its own shell, so the PATH the
# build step exported for zig's sake does not reach this one.
/tmp/venv/bin/twine check --strict dist/*
# --skip-existing so a retry after a partial upload finishes the job
# instead of dying on the first file. A version cannot be reused,
# so a half-published release would otherwise burn it.
twine upload --non-interactive --skip-existing dist/*
/tmp/venv/bin/twine upload --non-interactive --skip-existing dist/*