Skip to content

Latest commit

 

History

History
57 lines (37 loc) · 2.15 KB

RELEASE_PROCEDURE.rst

File metadata and controls

57 lines (37 loc) · 2.15 KB

Release procedure for pika

The current target is to produce a new (minor) release once a month.

pika follows Semantic Versioning.

  1. For minor and major releases: create and check out a new branch at an appropriate point on main with the name release-major.minor.X. major and minor should be the major and minor versions of the release. For patch releases: check out the corresponding release-major.minor.X branch.
  2. Write release notes in CHANGELOG.md.
  3. Make sure PIKA_VERSION_MAJOR/MINOR/PATCH in CMakeLists.txt contain the correct values. Change them if needed.
  4. When making a post-1.0.0 major release, remove deprecated functionality if appropriate.
  5. Update the minimum required versions if necessary.
  6. Repeat the following steps until satisfied with the release.
    1. Change PIKA_VERSION_TAG in CMakeLists.txt to -rcN, where N is the current iteration of this step. Start with -rc1.
    2. Create a pre-release on GitHub using the script tools/roll_release.sh. This script automatically tags with the corresponding release number.
    3. Add patches as needed to the release candidate until the next release candidate, or the final release.
  7. Change PIKA_VERSION_TAG in CMakeLists.txt to an empty string.
  8. Add the release date to the caption of the current CHANGELOG.md section and change the value of PIKA_VERSION_DATE in CMakeLists.txt.
  9. Create a release on GitHub using the script tools/roll_release.sh. This script automatically tags the release with the corresponding release number.
  10. Merge release branch into main.
  11. Modify the release procedure if necessary.
  12. Change PIKA_VERSION_TAG in CMakeLists.txt back to -trunk.
  13. Update spack (https://github.com/spack/spack).