Releasing COSMICA
This page describes the process of releasing a new version of the COSMICA.
Prerequisites
- The build is passing on the
mainbranch.
Release
COSMICA follows Semantic Versioning. Determine the new version number based on the changes since the last release:
MAJOR version when you make incompatible API changes; MINOR version when you add functionality in a backward compatible manner; PATCH version when you make backward compatible bug fixes.
Create a release branch
- Create a new branch for the release (
git switch -c release/v<version>). The branch name should berelease/v<version>, where<version>is the new version number.
Bump the version number
- Bump the
project.versionfield in thepyproject.tomlfile. - Commit the changes by running
git commit -am "Bump version to <version>".
Merge the release branch into main
- Create a pull request to merge the release branch into
main. - Wait for the CI to pass.
- Merge the pull request.
Create a Git tag
- Create a Git tag for the new version by running
git tag v<version>. - Push the tag to GitHub by running
git push origin v<version>.
Create a GitHub release
- Go to the GitHub releases page.
- Click "Draft a new release".
- Choose
v<version>in the "Choose a tag" dropdown. - Enter
v<version>as the title of the release in the "Release title" field. - Enter the release notes in the "Write" field. The release notes should be a summary of the changes in the new version. You can click "Generate release notes" to generate the release notes based on the pull requests merged since the last release.
- Click "Publish release".
Update the documentation
- Run
uv run -- mike deploy --push --update-aliases <version> latest.
Tip
The version in the mike deploy command is not prefixed with v.