-
Notifications
You must be signed in to change notification settings - Fork 141
Release process
Paul R. C. Kent edited this page Jun 21, 2017
·
14 revisions
This page documents the steps to follow to make a new release of QMCPACK. The examples are given for the 3.1.0 release.
- Make a fresh clone of the repo and create a release candidate branch labeled rc_Mmp where Mmp are digits following semantic versioning.
git clone https://github.com/QMCPACK/qmcpack.git
cd qmcpack
git branch rc_310
git checkout rc_310
- Update the QMCPACK_VERSION_MAJOR, QMCPACK_VERSION_MINOR, QMCPACK_VERSION_PATCH version numbers in qmcpack/CMakeLists.txt
- Update qmcpack/CHANGELOG.MD by replacing the unreleased section with the new version and release date. Update the notes section to recommend the update to all users (if appropriate) and note any major headline items such as backwards incompatibility.
git add qmcpack/CMakeLists.txt qmcpack/CHANGELOG.MD
git commit -m "Increase version number, update release notes"
git push origin rc_310
- On GitHub, make a pull request into the master branch from the rc.
- Ensure CI tests run and pass.
- Make an independent download of the proposed merged PR.
- Verify code configures and builds on at least one system.
- Run non-long tests, confirm version reports correctly. e.g. ctest -VV -E long
- Push any needed fixes to the rc and repeat the tests.
- Add notes on the test status to the PR.
- Request reviewer / other PR approver approves the merge. At least one review is required to merge to master.
- Merge the PR.
- Create a new release using the release tool on GitHub. Link to the CHANGELOG in the release notes. The GitHub link can be copied & updated from previous release.
- Issue a PR back to develop from master to update with the new version number and any other updates made to the rc.
- Delete the rc branch.
- Announce the release on google groups and QMCPACK.org.