Release Checklist¶
Pre-release checklist for behave-lint releases.
Pre-release¶
- All tests pass:
uv run pytest -m "not performance and not slow" - Lint clean:
uv run ruff check src/ tests/ - Type check clean:
uv run mypy src/ - Docs build clean:
uv run mkdocs build --strict - Version bumped in
pyproject.toml,src/behave_lint/version.py,src/behave_lint/__init__.py -
CHANGELOG.mdupdated with release date and entries -
README.mdis up to date - All example projects in
examples/are runnable - Performance benchmarks pass:
uv run pytest -m performance -v
Release candidate (for minor/major releases)¶
- Create
release/v<x.y.z>branch frommain - Tag
v<x.y.z>-rc1and push - Verify release workflow dry-run passes
- Test RC install:
pip install behave-lint==<x.y.z>rc1 - Test in a real project
- If issues found, fix on release branch and tag
rc2
Final release¶
- Tag
v<x.y.z>on release branch (ormainfor patches) - Push tag:
git push origin v<x.y.z> - Release workflow triggers automatically
- Verify package appears on PyPI
- Verify GitHub Release is created with auto-generated notes
- Verify docs site is updated (GitHub Pages deploy)
- Announce release (GitHub Release, social media, Behave community)
Post-release¶
- Merge release branch back to
main(if applicable) - Update
CHANGELOG.md[Unreleased]section - Close milestone in GitHub
- Update project board