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 SMP executables with H2O-32 benchmark input, e.g. using the script
cd cp2k/tests/QS/benchmark
mpiexec -np 8 ../../../exe/Linux-x86-64-gfortran/cp2k.popt H2O-32.inp >${cwd}/H2O-32-popt-8-1.out
mpiexec -np 8 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-8-1.out
mpiexec -np 4 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-4-2.out
mpiexec -np 2 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-2-4.out
mpiexec -np 1 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-1-8.out
              ../../../exe/Linux-x86-64-gfortran/cp2k.ssmp H2O-32.inp >${cwd}/H2O-32-ssmp-1-8.out
cd ${cwd}
for f in H2O-32-*.out; do echo -n $f; grep "ENERGY| Total FORCE_EVAL" $f | tail -1 | awk '{printf "%20.12f\n",$NF}'; done

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

3. Create a new branch directory on the SVN server using

svn mkdir svn+ssh://

Description text: “Create folder for CP2K release branch X.Y”

4. Copy the current CP2K version from the trunk using

svn copy -m "Perform branching for CP2K release X.Y" \

5. Check the release version out using

svn co svn+ssh:// cp2k-X_Y-branch

6. Apply release specific changes

  • a) Change cp2k_info.F (comment/uncomment release/branch line, update release number and year),
  • b) Provide Java version of saxon for manual generation
  • c) Create a file cp2k/REVISION with the revision number of the release branch and commit the changes:
cd cp2k-X_Y-branch/cp2k
tools/build_utils/get_revision_number >REVISION
svn add REVISION
svn ci -m "Store the revision number of the release branch" REVISION src
cd ..

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

8. Create a new manual on ""

  • a) Login to “”
  • b) Create a new folder manual/cp2k-X_Y-branch
  • c) Add a new link in the index.html file and logout
  • d) Update index file
  • e) Create and upload the new manual:
cd cp2k/tools/manual
./update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@

9. Export the release branch (checkout without .svn folders) using

svn export cp2k-X.Y

10. Create a bzip2 tar file using

tar -cjf cp2k-X.Y.tar.bz2 cp2k-X.Y

11. Check the exported branch release

Create statically linked sopt and ssmp versions:

ln -s cp2k-X.Y cp2k
cd cp2k/makefiles
make -j ARCH=Linux-x86-64-gfortran VERSION=ssmp
make -j ARCH=Linux-x86-64-gfortran VERSION=sopt
cd ../..

12. Upload the tar files to sourceforge to make it appear in the list under "Files" for download using

scp cp2k-X.Y/exe/Linux-x86-64-gfortran/cp2k.sopt
scp cp2k-X.Y/exe/Linux-x86-64-gfortran/cp2k.ssmp
scp cp2k-X.Y.tar.bz2

13. Increment the version number of the development version in the files (skip this for sub-releases)

cd cp2k
svn ci -m "Increment CP2K development version number" src/ tools/

14. Create a git tag and push it to github

15. Update the CP2K web page

16. Dissemination

Inform the

  • CP2K developers by email
  • CP2K users via the CP2K mailing list

about the new CP2K release.

For a new sub-release X.Y repeat 6-15, correspondingly.

dev/release_checklist.txt · Last modified: 2017/11/19 22:19 by oschuett