Skip to content

Commit bb12270

Browse files
ludeeusCopilot
andauthored
Add versioning and release process details to README (#520)
* Add versioning and release process details to README * Update README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 69835fb commit bb12270

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,25 @@ Which includes:
4848
6. Ensure 100% coverage with `scripts/coverage`
4949
7. Commit your work, and push it to GitHub
5050
8. Create a PR against the `main` branch
51+
52+
## Versioning
53+
54+
This project follows [Semantic Versioning](https://semver.org/).
55+
56+
Early releases used semver (`0.1.0``2.0.0`), followed by a period of calendar versioning (`21.1.0``25.5.0`). Starting with `26.0.0`, the project returns to semver — using `26.x.x` as the starting point to stay above the last calver release and avoid confusing package managers.
57+
58+
Version bumps are determined automatically by PR labels:
59+
60+
- `breaking-change`**major**
61+
- `feature` / `enhancement`**minor**
62+
- All other changes → **patch**
63+
64+
## Release
65+
66+
Releases are automated via GitHub Actions. The flow works as follows:
67+
68+
1. PRs are merged to `main` with appropriate labels
69+
2. On every merge, [release-drafter](https://github.com/release-drafter/release-drafter) automatically maintains a **draft GitHub Release** with categorized changelog entries built from PR titles and authors
70+
3. Changelog entries are grouped into: Breaking changes, New features, Enhancements, Bug fixes, Maintenance, Documentation, and Dependencies
71+
4. A maintainer reviews the draft and **publishes** the release via the GitHub Releases UI
72+
5. Publishing the GitHub Release for a tag (creating or selecting the tag in the UI) triggers the release workflow, which stamps the version into `pyproject.toml`, builds the package, and publishes it to [PyPI](https://pypi.org/project/aiogithubapi) via OIDC trusted publishing

0 commit comments

Comments
 (0)