1.3 KiB
Releasing a new version of chatmail core
For example, to release version 1.116.0 of the core, do the following steps.
-
Resolve all blocker issues.
-
Update the changelog:
git cliff --unreleased --tag 1.116.0 --prepend CHANGELOG.mdorgit cliff -u -t 1.116.0 -p CHANGELOG.md. -
add a link to compare previous with current version to the end of CHANGELOG.md:
[1.116.0]: https://github.com/chatmail/core/compare/v1.115.2...v1.116.0 -
Update the version by running
scripts/set_core_version.py 1.116.0. -
Commit the changes as
chore(release): prepare for 1.116.0. Optionally, use a separate branch likeprep-1.116.0for this commit and open a PR for review. -
Push the commit to the
mainbranch. -
Once the commit is on the
mainbranch and passed CI, tag the release:git tag --annotate v1.116.0. -
Push the release tag:
git push origin v1.116.0. -
Create a GitHub release:
gh release create v1.116.0 --notes ''.
Dealing with failed releases
Once you make a GitHub release,
CI will try to build and publish PyPI and npm packages.
If this fails for some reason, do not modify the failed tag, do not delete it and do not force-push to the main branch.
Fix the build process and tag a new release instead.