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
Create statically linked sopt
and ssmp
versions:
ln -s cp2k-X.Y.Z cp2k cd cp2k/makefiles make -j ARCH=Linux-x86-64-gfortran-static VERSION=ssmp make -j ARCH=Linux-x86-64-gfortran-static VERSION=sopt
Create a popt
version and run a regression test to generate the reference outputs for uploading:
make -j ARCH=Linux-x86-64-gfortran VERSION=popt cd ../.. cp2k/tools/regtesting/do_regtest -c cp2k/tools/regtesting/regtest_conf/Linux-x86-64-gfortran.popt.conf -quick -nosvn
12. Upload the tar file to sourceforge to make it appear in the list under "Files" for download using
tar -cjf cp2k-X_Y-branch_LAST-Linux-x86-64-gfortran-popt.tar.bz2 LAST-Linux-x86-64-gfortran-popt scp cp2k-X_Y-branch_LAST-Linux-x86-64-gfortran-popt.tar.bz2 mkrack@frs.sourceforge.net:/home/frs/project/cp2k/testresults 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
13. 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/
14. Update the CP2K web page
- Add News entry
- Update Version History
- Add a link to the new input reference manual under Documentation & Help
- Update download instructions
15. 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-15, correspondingly.
dev/release_checklist.1419246960.txt.gz · Last modified: 2020/08/21 10:14 (external edit)