dev:release_checklist
This is an old revision of the document!
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
#!/bin/sh cwd=$PWD cd cp2k/tests/QS/benchmark # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=1 mpiexec -np 8 ../../../exe/Linux-x86-64-gfortran/cp2k.popt H2O-32.inp >${cwd}/H2O-32-popt-8-1.out # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=1 mpiexec -np 8 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-8-1.out # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=2 mpiexec -np 4 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-4-2.out # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=4 mpiexec -np 2 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-2-4.out # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=8 mpiexec -np 1 ../../../exe/Linux-x86-64-gfortran/cp2k.psmp H2O-32.inp >${cwd}/H2O-32-psmp-1-8.out # ../../../tools/clean_cwd.sh export OMP_NUM_THREADS=8 ../../../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://mkrack@svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch
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" \ svn+ssh://mkrack@svn.code.sf.net/p/cp2k/code/trunk/cp2k\ svn+ssh://mkrack@svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch/cp2k
5. Check the release version out using
svn co svn+ssh://mkrack@svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch cp2k-X_Y-branch
6. Apply release specific changes
- a) Change cp2k_info.F (comment/uncomment release/branch line),
- 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 "cp2k.org"
- a) Login to “cp2k.org”
- b) Create a new folder
manual/cp2k-X_Y-branch
- c) Add a new link in the index.html file and logout
- c) Create and upload the new manual:
cd cp2k/tools/manual ./update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@5.35.252.240:/var/www/cp2k.org/manual/cp2k-X_Y-branch
9. Export the release branch (checkout without .svn folders) using
svn export http://svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch/cp2k cp2k-X.Y.Z
10. Create a bzip2 tar file using
tar -cjf cp2k-X.Y.Z.tar.bz2 cp2k-X.Y.Z
11. Check the exported branch release (just compile it or even run a regtest)
12. Create statically linked sopt and ssmp versions
13. Upload the tar file to sourceforge to make it appear in the list under "Files" for download using
scp cp2k-X.Y.Z/exe/Linux-x86-64-gfortran-static/cp2k.sopt mkrack@frs.sourceforge.net:/home/frs/project/cp2k/precompiled/cp2k-X.Y.Z-Linux-x86_64.sopt scp cp2k-X.Y.Z/exe/Linux-x86-64-gfortran-static/cp2k.ssmp mkrack@frs.sourceforge.net:/home/frs/project/cp2k/precompiled/cp2k-X.Y.Z-Linux-x86_64.ssmp scp cp2k-X.Y.Z.tar.bz2 mkrack@frs.sourceforge.net:/home/frs/project/cp2k/cp2k-X.Y.Z.tar.bz2
14. Increment the version number of the development version in the files
cp2k/src/cp2k_info.F cp2k/tools/doxify/Doxyfile.template cd cp2k svn ci -m "Increment CP2K development version number" src/ tools/
15. Update the CP2K web page
- Add News entry
- Update Version History
- Add a link to the new input reference manual under Documentation & Help
- [:download|Download instructions]]
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.Z repeat 6-16, correspondingly.
dev/release_checklist.1419245431.txt.gz · Last modified: 2020/08/21 10:14 (external edit)