User Tools

Site Tools


dev:release_checklist

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:release_checklist [2018/06/12 13:40]
129.129.214.74 Add sdbg
dev:release_checklist [2019/12/06 09:55] (current)
tmueller
Line 5: Line 5:
   * a) Clean status for all dashboard regression testers   * 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   * 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+  * c) Check the generated ​executables with the H2O-32 benchmark input, e.g. using the script
  
-<​code ​bash> +<​code>​ 
-#!/bin/sh +cd cp2k/benchmarks/QS 
-cwd=$PWD +./check-release-comparison.py
-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+
 </​code>​ </​code>​
 +
 The final energies of all MD runs should agree by 10<​sup>​-10</​sup>​. The final energies of all MD runs should agree by 10<​sup>​-10</​sup>​.
  
-=== 3. Create a new branch ​directory on the SVN server ​using ===+=== 3. Create a new branch ​from the current master ​using === 
 <​code>​ <​code>​
-svn mkdir svn+ssh://mkrack@svn.code.sf.net/​p/​cp2k/​code/​branches/​cp2k-X_Y-branch+git checkout -b support/vX.Y
 </​code>​ </​code>​
-Description text: "​Create folder for CP2K release branch X.Y" 
  
-=== 4. Copy the current CP2K version from the trunk using ===+=== 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 [[http://​sourceforge.net/​projects/​saxon|saxon]] for manual generation 
 +  * d) Create a file cp2k/​REVISION with the revision number of the release branch add it: 
 <​code>​ <​code>​
-svn copy -m "​Perform branching for CP2K release X.Y" \ +tools/​build_utils/​get_revision_number ​src >​REVISION 
-    svn+ssh://​mkrack@svn.code.sf.net/​p/​cp2k/​code/​trunk/​cp2k\ +git add REVISION 
-    svn+ssh://​mkrack@svn.code.sf.net/​p/​cp2k/​code/​branches/​cp2k-X_Y-branch/​cp2k +git commit ​-m "Store the revision number of the release branch"​ REVISION src/cp2k_info.F tools/​doxify/​Doxyfile.template
-</​code>​ +
-=== 5. Check the release version out using === +
-<​code>​ +
-svn co svn+ssh://​mkrack@svn.code.sf.net/​p/​cp2k/​code/​branches/​cp2k-X_Y-branch cp2k-X_Y-branch +
-</​code>​ +
-===  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 [[http://​sourceforge.net/​projects/​saxon|saxon]] for manual generation +
-  * c) Create a file cp2k/​REVISION with the revision number of the release branch and commit the changes: +
-<​code>​ +
-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 ..+
 </​code>​ </​code>​
  
-=== 7. Compile the release branch version and run one or more regression tests ===+=== 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: The reference outputs can be retrieved from the branched CP2K trunk version:
 <​code>​ <​code>​
Line 79: Line 43:
 </​code>​ </​code>​
  
-=== 8. Create a new manual on "​cp2k.org"​ ===+=== 6. Create a new manual on "​cp2k.org"​ === 
   * a) Login to "​sham.cp2k.org"​ (94.130.188.107)   * 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   * 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   * c) Add a new link in the cp2k/​tools/​manual/​index.html file and commit that change
   * d) Create and upload the new manual:   * d) Create and upload the new manual:
 +
 <​code>​ <​code>​
 cd cp2k/​tools/​manual cd cp2k/​tools/​manual
-./​update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@94.130.188.107:/​var/​www/​cp2k.org/​manual/​cp2k-X_Y-branch+./​update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@sham.cp2k.org:/​var/​www/​cp2k.org/​manual/​cp2k-X_Y-branch
 </​code>​ </​code>​
  
-=== 9Export ​the release ​branch (checkout without .svn folders) using === +=== 7Tag the release ===
-<​code>​ +
-svn export http://​svn.code.sf.net/​p/​cp2k/​code/​branches/​cp2k-X_Y-branch/​cp2k cp2k-X.Y +
-</​code>​+
  
-=== 10. Create a bzip2 tar file using === 
 <​code>​ <​code>​
-tar -cjf cp2k-X.Y.tar.bz2 cp2k-X.Y+git tag --m "CP2K release ​X.Y.O" vX.Y.0
 </​code>​ </​code>​
  
-=== 11Check the exported branch release === +=== 8Increment ​the version number of the development version (skip this for sub-releases) ​===
-Create statically linked ''​sopt''​ and ''​ssmp''​ versions: +
-<​code>​ +
-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 +
-make -j ARCH=Linux-x86-64-gfortran VERSION=sdbg +
-cd ../.. +
-</​code>​+
  
-=== 12. Upload the tar files to sourceforge to make it appear in the list under "​Files"​ for download using === 
 <​code>​ <​code>​
-scp cp2k-X.Y/exe/Linux-x86-64-gfortran/​cp2k.sopt mkrack@frs.sourceforge.net:/​home/​frs/​project/​cp2k/precompiled/cp2k-X.Y-Linux-x86_64.sopt +git checkout master 
-scp cp2k-X.Y/exe/​Linux-x86-64-gfortran/​cp2k.ssmp mkrack@frs.sourceforge.net:/​home/​frs/​project/​cp2k/​precompiled/​cp2k-X.Y-Linux-x86_64.ssmp +vim cp2k/src/cp2k_info.cp2k/tools/doxify/Doxyfile.template 
-scp cp2k-X.Y/​exe/​Linux-x86-64-gfortran/​cp2k.sdbg mkrack@frs.sourceforge.net:​/home/frs/​project/​cp2k/​precompiled/​cp2k-X.Y-Linux-x86_64.sdbg +git commit ​"​Increment CP2K development version number" ​cp2k/src/cp2k_info.cp2k/tools/doxify/Doxyfile.template
-scp cp2k-X.Y.tar.bz2 mkrack@frs.sourceforge.net:​/home/frs/project/​cp2k/​cp2k-X.Y.tar.bz2+
 </​code>​ </​code>​
  
-=== 13Increment ​the version number of the development version in the files (skip this for sub-releases===+=== 9Push 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)
 <​code>​ <​code>​
-cp2k/src/​cp2k_info.+git push --atomic upstream support/vX.Y master vX.Y.0
-cp2k/​tools/​doxify/​Doxyfile.template +
-cd cp2k +
-svn ci -m "​Increment CP2K development version number"​ src/ tools/+
 </​code>​ </​code>​
  
-=== 14Create a git tag and push it to github ​===+After the workflow finishes, go to https://​github.com/​cp2k/​cp2k/​releases,​ add the release notes to the Draft release and publish the release. 
 + 
 +=== 10Update the CP2K web page ===
  
-=== 15. Update the CP2K web page === 
   * Add [[:​news|News]] entry   * Add [[:​news|News]] entry
   * Update [[:​version_history|Version History]]   * Update [[:​version_history|Version History]]
  
-=== 16. Dissemination ===+=== 11. Dissemination === 
 Inform the Inform the
 +
   * CP2K developers by email   * CP2K developers by email
   * CP2K users via the CP2K mailing list   * CP2K users via the CP2K mailing list
 +  * the Twitter-sphere via the Twitter account
 +
 about the new CP2K release. about the new CP2K release.
  
-For a new sub-release X.Y repeat ​6-15, correspondingly.+For a new sub-release X.Y repeat ​3-7, correspondingly.
dev/release_checklist.1528810849.txt.gz · Last modified: 2018/06/12 13:40 by 129.129.214.74