You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Harden release script so failed builds cannot continue to publish steps #90
The current release script can continue after a failed artifact build. During the v0.9.10 release, python3 setup.py sdist bdist_wheel failed because the active Python environment was missing release/build tooling, but the script continued into signing, upload, and Git push steps.
That left the release in a partial state:
The version bump commit and tag were created.
No dist/ directory or artifacts were produced.
The script attempted to cd dist, failed, then signed files in the repo root instead.
twine upload dist/* failed because no artifacts existed.
The version commit and tag were pushed even though PyPI upload failed.
Proposed fix
Harden release.sh so failures stop the release before any later side effects happen.
Suggested changes:
Add strict shell behavior near the top of the script:
set -euo pipefail
Run preflight checks before bumpversion creates a commit/tag:
clean working tree
required Python version is available
setuptools, wheel, twine, and bumpversion are available
requested GPG key exists locally
Use module-based Python commands to avoid PATH mismatches:
Activity
JoshSEdwards commentedon Sep 9, 2026
Fixed in #94