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 revisionPrevious revision
Next revisionBoth sides next revision
dev:release_checklist [2018/06/12 13:40] – Add sdbg 129.129.214.74dev:release_checklist [2019/12/05 14:29] – adapt to new Git workflow (still WiP) 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 and push both tag and branch to GitHub ===
-<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 
 +git push --atomic upstream vX.Y.0 support/vX.Y
 </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> <code>
-ln -s cp2k-X.cp2k +git checkout master 
-cd cp2k/makefiles +vim cp2k/src/cp2k_info.cp2k/tools/doxify/Doxyfile.template 
-make -j ARCH=Linux-x86-64-gfortran VERSION=ssmp +git commit - "Increment CP2K development version number" cp2k/src/cp2k_info.F cp2k/tools/doxify/Doxyfile.template
-make -j ARCH=Linux-x86-64-gfortran VERSION=sopt +
-make -j ARCH=Linux-x86-64-gfortran VERSION=sdbg +
-cd ../..+
 </code> </code>
  
-=== 12Upload the tar files to sourceforge to make it appear in the list under "Files" for download using === +=== 9Update the CP2K web page ===
-<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 +
-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 +
-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 +
-scp cp2k-X.Y.tar.bz2 mkrack@frs.sourceforge.net:/home/frs/project/cp2k/cp2k-X.Y.tar.bz2 +
-</code> +
- +
-=== 13. Increment the version number of the development version in the files (skip this for sub-releases) === +
-<code> +
-cp2k/src/cp2k_info.F +
-cp2k/tools/doxify/Doxyfile.template +
-cd cp2k +
-svn ci -m "Increment CP2K development version number" src/ tools/ +
-</code> +
- +
-=== 14. Create a git tag and push it to github ===+
  
-=== 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 ===+=== 10. 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.txt · Last modified: 2024/01/01 23:40 by oschuett