Skip to content

Commit 61d6448

Browse files
committed
add basic merge / versioning instructions
1 parent e7e28ab commit 61d6448

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

docs/community/contribute-codebase.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,3 +358,31 @@ request by pushing to the branch on GitHub:
358358

359359
Any `git push` will automatically update your pull request with your branch's
360360
changes and restart the `Continuous Integration` checks.
361+
362+
## Merging a Pull Request and Versioning
363+
364+
The procedure to merge a PR with version increase according to semantic
365+
versioning is as follows:
366+
367+
1. The PR is made, discussed, and approved according to the collaborators'
368+
standards. A bump severity (patch, minor, major) is chosen according to the
369+
changes and SemVer standards.
370+
371+
```note
372+
Before the first major version (<1.0.0), most changes, even if significant, only
373+
result in a minor version increase. The first major version release typically
374+
needs to be delineated as a long-term milestone.
375+
```
376+
377+
2. As a last action in the PR before the merge, the version bump is executed.
378+
Usually via means of `bump2version` or, more recently `uv` and Makefile setup.
379+
The version is not manually changed in most cases. Both setups typically also
380+
create a *git tag* with the version in SemVer format, which can be pushed
381+
separately via `git push --tags`. The version bump can also be performed in a
382+
separate PR, if missed in the code-carrying PR.
383+
384+
3. The PR is merged, introducing a new version in the codebase (but not yet as a
385+
release or published package). To release and publish the package, we rely on
386+
GitHub actions that automatically draft a release and trigger a build and
387+
publish action to PyPI. The trigger for these actions is the `git push --tags`
388+
command, the pattern of which is matched in the GitHub workflow.

0 commit comments

Comments
 (0)