Skip to content

Release

Coactra publishes one Python distribution. Versions come from v* Git tags via hatch-vcs; never edit a version string in pyproject.toml.

Required local gate

make type
make release-check

make release-check runs lint, compilation, non-live tests, strict docs, examples, clean wheel and source installs, removed-path checks, live-backend inventory, and whitespace validation.

Credentialed checks are honest skips unless COACTRA_RUN_LIVE=1 and their required environment variables are present.

Publish

  1. Update CHANGELOG.md under Unreleased.
  2. Merge the reviewed release change to main.
  3. Tag that main commit with a new vX.Y.Z tag.
  4. Let .github/workflows/release.yml build and publish through PyPI Trusted Publishing.

The workflow rejects tags that are not ancestors of main and verifies the built version against the tag. PyPI will reject reuse of an existing version.