Skip to content

Create a new Charm release

Ronak Buch edited this page Oct 19, 2020 · 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 the README.md.

Prereleases

  • For a beta, tag on master, for an RC, tag on a branch (branch named charm-X.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 master directly after branching as v{X.X.X + 1}-devel (e.g. after creating the charm-6.10.0 branch and tagging the branch with v6.10.0-rc1, tag the next commit on master as v6.11.0-devel). This is required so that the preamble that Charm++ prints and git describe on master show the current release being worked toward. The new number should indicate the next feature release, not upcoming bugfix releases.

Release

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

Clone this wiki locally