Skip to content

Publish releases from version tags - #91

Merged
mmlado merged 1 commit into
mainfrom
release-pipeline
Oct 11, 2026
Merged

mmlado merged 1 commit into
mainfrom
release-pipeline

Conversation

@mmlado

@mmlado mmlado commented Oct 11, 2026

Copy link
Copy Markdown
Owner
  • Release workflow on v* tags: the tag must be on main, match __version__ and have a CHANGELOG.md section; then tests, flit build + twine check, PyPI upload through trusted publishing in the pypi environment, a GitHub release with the changelog section as notes and the built files attached, and the docs deploy
  • Release-candidate tags (v0.5.0rc1) publish to TestPyPI only
  • publish.yml is removed: the GitHub release created by the new workflow would trigger it and upload twice
  • tools/release.py (bump, check, notes) backs invoke release <version> and the workflow; RELEASING.md describes the cycle and one-time setup
  • CI runs flake8 (keycard tests tools example) and mypy; build.yml keeps only coverage; invoke docs regenerates the module pages, which now list every module
  • Ship py.typed; ber-tlv~=0.0.6

Before tagging v0.4.0, PyPI needs a trusted publisher (owner mmlado, repository keycard-py, workflow release.yml, environment pypi), and GitHub needs a pypi environment with a required reviewer.

- Release workflow on v* tags: checks the tag against main, __version__ and
  the changelog, runs the tests, builds, publishes to PyPI with trusted
  publishing after approval, creates the GitHub release and deploys docs
- Release candidates go to TestPyPI
- invoke release bumps the version and changelog; RELEASING.md describes the cycle
- CI runs flake8 and mypy; docs list every module
- Ship py.typed; ber-tlv accepts patch releases
@mmlado mmlado self-assigned this Oct 11, 2026
@mmlado
mmlado merged commit be5b78f into main Oct 11, 2026
7 checks passed
@mmlado
mmlado deleted the release-pipeline branch October 11, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant