-
Notifications
You must be signed in to change notification settings - Fork 49
Create a new Charm release
Ronak Buch edited this page Oct 25, 2021
·
19 revisions
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.
-
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
- nlohmann/json (https://github.com/nlohmann/json)
-
Add release notes to
CHANGES
. -
Update the Charm++ version number in
configure.ac
andCMakeLists.txt
. -
Update the list of authors in
README.md
,.zenodo.json
, anddoc/charm++/manual.rst
- For a beta, tag on
main
, for an RC, tag on a branch (branch namedcharm-X.X
and taggedvX.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 asv{X.X.X + 1}-devel
(e.g. after creating thecharm-6.10
branch and tagging the branch withv6.10.0-rc1
, tag the next commit onmain
asv6.11.0-devel
). This is required so that the preamble that Charm++ prints andgit describe
onmain
show the current release being worked toward. The new number should indicate the next feature release, not upcoming bugfix releases.
When a release is ready, create and push a tag on the branch (vX.X.X
) and do the following:
- Add release notes to
CHANGES
, and update the version numbers inconfigure.ac
andCMakeLists.txt
. - Update both webpages with the release tarballs and with news items: https://charm.cs.illinois.edu/download/, https://charm.cs.illinois.edu/news, 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 release on GitHub (https://github.com/UIUC-PPL/charm/releases/new, use existing tag name)
- Create a new release of the manual on readthedocs.io
- Update the Spack package.
- Add announcement to https://github.com/UIUC-PPL/charm/discussions