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 revision
Previous revision
Next revisionBoth sides next revision
dev:release_checklist [2018/06/12 07:26] – Update manual generation step 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 +
-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