| name | release-awid-pypi |
| description | Prepare an awid-service release for PyPI. Runs quality gates, bumps version, builds, verifies, commits, tags, and pushes. The CI workflow then publishes to PyPI. |
| argument-hint | ["version"] |
Release awid-service to PyPI
The PyPI release is triggered by pushing an awid-service-vX.Y.Z git tag.
GitHub Actions then runs
.github/workflows/awid-pypi-release.yml,
which builds from awid/ and publishes with uv publish.
Flow
-
Determine the next version.
Use awid/pyproject.toml as the source of truth.
-
Verify the tree is ready.
Run git status and make sure the intended release commit is on main.
-
Run release checks.
cd awid && uv sync && uv run pytest awid/tests -q
uv build
-
Verify artifacts.
Confirm awid/dist/ contains:
awid_service-<VERSION>.tar.gz
awid_service-<VERSION>-py3-none-any.whl
-
Bump version in awid/pyproject.toml.
-
Commit and tag.
git add awid/pyproject.toml awid/uv.lock
git commit -m "release: awid-service <VERSION>"
git tag awid-service-v<VERSION>
-
Push to trigger publishing.
git push origin main
git push origin awid-service-v<VERSION>
Notes
- Keep the git tag format as
awid-service-vX.Y.Z.
- The workflow rejects tags that do not match
awid/pyproject.toml.
- The GHCR Docker release (
awid-vX.Y.Z tag) is separate and independent.