-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #253 from Modalities/release_automation_documentation
feat: added documentation on release management
- Loading branch information
Showing
1 changed file
with
19 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Releasing in Modalitites | ||
This tutorial describes the procedure to release a new version of the Modalities package. | ||
|
||
## Release Types | ||
We follow the release types as defined by [Semantic Versioning](https://semver.org/). The version number is defined as `MAJOR.MINOR.PATCH` where: | ||
- `MAJOR` is incremented when you make incompatible API changes, | ||
- `MINOR` is incremented when you add functionality in a backwards-compatible manner, and | ||
- `PATCH` is incremented when you make backwards-compatible bug fixes. | ||
|
||
|
||
## Releasing a new Modalitites version | ||
0. Make sure that the main branch is in a clean state. In particular, all tests should pass | ||
1. Update the version number in the pyproject.toml file. | ||
2. Commit the version bump via `git commit --no-verify -m "<version number>"`, following the versioning convention **v**MAJOR.MINOR.PATCH (Note the leading v!). | ||
The `--no-verify` flag is used to skip the pre-commit hooks. | ||
3. Run `git push` to push the changes to the remote repository. | ||
5. Tag the commit with the version number following the convention `git tag <version number>`. | ||
6. Push the tag to the remote repository using `git push --tags`. Note, this command will push all the tags to the remote repository. | ||
This command triggers the [CI/CD pipeline](../../.github/workflows/release_automation.yml) to build and deploy the package to the PyPI repository. |