Skip to content

Create a new Charm release

Ronak Buch edited this page Oct 25, 2021 · 19 revisions

⚠️ Note: git tags should be annotated (use git tag -a). Do not use GitHub's release tool to create the tag, do so on the command line and push it first before creating a release on GitHub.

Before creating a prerelease

  • Check on GitHub to see if bugs targeted for the release version are done. If they aren't, decide if they can be postponed or get after people to fix them.

  • Check that libraries which we distribute with Charm are up to date:

  • Add release notes to CHANGES.

  • Update the Charm++ version number in configure.ac and CMakeLists.txt.

  • Update the list of authors in README.md, .zenodo.json, and doc/charm++/manual.rst

Prereleases

  • For a beta, tag on main, for an RC, tag on a branch (branch named charm-X.X and tagged vX.X.X-rcX). Ask users and the application teams to do performance tests. Give them about a week to respond. If there are performance regressions or major bugs reported, then fix them before release.
  • Tag the commit on main directly after branching as v{X.X.X + 1}-devel (e.g. after creating the charm-6.10 branch and tagging the branch with v6.10.0-rc1, tag the next commit on main as v6.11.0-devel). This is required so that the preamble that Charm++ prints and git describe on main show the current release being worked toward. The new number should indicate the next feature release, not upcoming bugfix releases.

Release

When a release is ready, create and push a tag on the branch (vX.X.X) and do the following: