Skip to content

Create a new Charm release

Matthias Diener edited this page Feb 20, 2020 · 19 revisions

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:

    • hwloc
    • Boost uFcontext threads
    • QuickThreads
    • METIS
    • LLVM OpenMP runtime.
  • Add release notes to CHANGES.

  • Update the Charm++ version number in the configure script, CMakeLists.txt, and Charm++ manual.

  • Update the list of authors in the README.md.

Prereleases

Release an RC on a branch (branch named charm-X.X.X and tagged vX.X.X-rcX) and ask 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.

Release

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

  • Add release notes to CHANGES, and update the version numbers in the configure script, CMakeLists.txt, and Charm++ manual.
  • Update both webpages with the release tarballs and with news items: https://charm.cs.illinois.edu/download/ and http://charmplusplus.org/download/
  • The Charm++ wikipedia page also has the current release info, so update it: https://en.wikipedia.org/wiki/Charm%2B%2B
  • Modify the charm-latest.tar.gz link to point to the new release.
  • Update the tar files on the web server using "./package_tarball.sh --release".
  • Update the tar files for Projections & CharmDebug too.
  • Email charm.cs mailing list announcing the release with the release notes.
  • Close out the release on GitHub's roadmap, update mainline charm CHANGES, README.md, etc.
  • Create a new release of the manual on readthedocs.io
  • Update the Spack package.