User Tools

Site Tools


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

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) 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


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 ""

  • a) Login to “” (
  • b) Create a new folder /var/www/ 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

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
vim cp2k/tools/manual/index.html 
git commit - "Increment CP2K development version number" cp2k/src/cp2k_info.F


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, add the release notes to the Draft release and publish the release.

10. Create tar ball

pip3 install git-archive-all
git-archive-all ./cp2k-X.Y.tar.bz2

11. Update the CP2K web page

12. Dissemination

Inform the

  • CP2K developers by email
  • CP2K users via the CP2K mailing list (Example)
  • 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: 2021/12/31 17:03 by oschuett