User Tools

Site Tools


dev:release_checklist

Protocol for the creation of a CP2K release (branch) version

1. Agreement about a new release branch X.Y among the CP2K developers

2. Check if the following requirements for the release are fulfilled:

  • a) Clean status for all dashboard regression testers
  • b) Successful build and clean regtest of the gfortran sdbg, sopt, popt, pdbg, ssmp, and psmp versions
  • c) Check the generated executables with the H2O-32 benchmark input, e.g. using the script
cd cp2k/benchmarks/QS
./check-release-comparison.py

The final energies of all MD runs should agree by 10-10.

3. Create a new branch from the current master using

git checkout -b support/vX.Y

4. Apply release specific changes

  • a) Update the version in src/cp2k_info.F (comment/uncomment release/branch line, update release number and year),
  • b) Update the version in tools/doxify/Doxyfile.template
  • c) Provide Java version of saxon for manual generation
  • d) Create a file cp2k/REVISION with the revision number of the release branch add it:
tools/build_utils/get_revision_number src >REVISION
git add REVISION
git commit -m "Store the revision number of the release branch" REVISION src/cp2k_info.F tools/doxify/Doxyfile.template

5. Compile the release branch version and run one or more regression tests

The reference outputs can be retrieved from the branched CP2K trunk version:

cp -a ../trunk/LAST-Linux-x86-64-gfortran-regtest-pdbg/ .
cp2k/tools/regtesting/do_regtest -c cp2k/tools/regtesting/regtest_conf/Linux-x86-64-gfortran-regtest.pdbg.conf
cp -a ../trunk/LAST-Linux-x86-64-gfortran-regtest-ssmp/ .
cp2k/tools/regtesting/do_regtest -c cp2k/tools/regtesting/regtest_conf/Linux-x86-64-gfortran-regtest.ssmp.conf

6. Create a new manual on "cp2k.org"

  • a) Login to “sham.cp2k.org” (94.130.188.107)
  • b) Create a new folder /var/www/cp2k.org/manual/cp2k-X_Y-branch and logout
  • c) Add a new link in the cp2k/tools/manual/index.html file and commit that change
  • d) Create and upload the new manual:
cd cp2k/tools/manual
./update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@sham.cp2k.org:/var/www/cp2k.org/manual/cp2k-X_Y-branch

7. Tag the release

git tag -a -m "CP2K release X.Y.O" vX.Y.0

8. Increment the version number of the development version (skip this for sub-releases)

git checkout master
vim cp2k/src/cp2k_info.F cp2k/tools/doxify/Doxyfile.template
git commit - "Increment CP2K development version number" cp2k/src/cp2k_info.F cp2k/tools/doxify/Doxyfile.template

9. Push all branches to Github

This needs direct push access to master and will start the Github Actions Workflow to create a Draft release for the tag and upload the complete source tarball there (including all submodules).

git push --atomic upstream support/vX.Y master vX.Y.0

After the workflow finishes, go to https://github.com/cp2k/cp2k/releases, add the release notes to the Draft release and publish the release.

10. Update the CP2K web page

11. Dissemination

Inform the

  • CP2K developers by email
  • CP2K users via the CP2K mailing list
  • the Twitter-sphere via the Twitter account

about the new CP2K release.

For a new sub-release X.Y repeat 3-7, correspondingly.

dev/release_checklist.txt · Last modified: 2019/12/06 09:55 by tmueller