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
dev:release_checklist [2014/12/22 10:50] – Release 2.6 krackdev:release_checklist [2024/01/01 23:40] (current) oschuett
Line 1: Line 1:
-====== Protocol for the creation of a CP2K release (branch) version ======+====== Release Checklist ======
  
-=== 1. Agreement about a new release branch X.Y among the CP2K developers === +=== 1. Check that the dashboard is green and there are no other blocking issues === 
-=== 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+
  
-<code bash> +=== 2. Cut the release version ===
-#!/bin/sh +
-cwd=$PWD +
-cd cp2k/tests/QS/benchmark +
-+
-../../../tools/clean_cwd.sh +
-export OMP_NUM_THREADS=+
-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=+
-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=+
-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=+
-              ../../../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> +
-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 === 
 <code> <code>
-svn mkdir svn+ssh://mkrack@svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch+git checkout -b support/v20XX.Y
 </code> </code>
-Description text: "Create folder for CP2K release branch X.Y" 
  
-=== 4Copy the current CP2K version from the trunk using ===+Edit the ''cp2k_version'' string in [[src>src/cp2k_info.F]] (⚠️ remove the  ''Development Version''). 
 <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 src/cp2k_info.F 
-    svn+ssh://mkrack@svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch/cp2k +git commit -m "Cut release version 20XX.Y"
-</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), +
-  * 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 branchREVISION src +
-cd ..+
 </code> </code>
  
-=== 7Compile the release branch version and run one or more regression tests === +Example: https://github.com/cp2k/cp2k/commit/056df93 
-The reference outputs can be retrieved from the branched CP2K trunk version:+ 
 +=== 3Tag the release and push to GitHub === 
 <code> <code>
-cp -../trunk/LAST-Linux-x86-64-gfortran-regtest-pdbg/+git tag -m "Cut release version 20XX.Y" -a v20XX.Y 
-cp2k/tools/regtesting/do_regtest -c cp2k/tools/regtesting/regtest_conf/Linux-x86-64-gfortran-regtest.pdbg.conf +git push upstream_rw support/v20XX.Y v20XX.Y
-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+
 </code> </code>
  
-=== 8. Create new manual on "cp2k.org" === +=== 4. Create tar ball and upload to new GitHub draft release === 
-  * 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:+
 <code> <code>
-cd cp2k/tools/manual +pip3 install git-archive-all 
-./update_manual Linux-x86-64-gfortran-regtest pdbg mkrack@5.35.252.240:/var/www/cp2k.org/manual/cp2k-X_Y-branch+git-archive-all ./cp2k-20XX.Y.tar.bz2
 </code> </code>
  
-=== 9Export the release branch (checkout without .svn folders) using ===+=== 5Create and upload binaries and Docker images === 
 <code> <code>
-svn export http://svn.code.sf.net/p/cp2k/code/branches/cp2k-X_Y-branch/cp2k cp2k-X.Y.Z+cd cp2k/tools/docker 
 +./build_dockerhub_images.sh 
 +docker tag cp2k/cp2k:devZZZZZZZZ  cp2k/cp2k:20XX.Y 
 +docker tag cp2k/cp2k:devZZZZZZZZ  cp2k/cp2k:latest 
 +docker push cp2k/cp2k:20XX.Y 
 +docker push cp2k/cp2k:latest
 </code> </code>
  
-=== 10. Create a bzip2 tar file using ===+=== 6. Create a new manual on "cp2k.org" === 
 <code> <code>
-tar -cjf cp2k-X.Y.Z.tar.bz2 cp2k-X.Y.Z+cd cp2k/tools/docker 
 +docker build -./Dockerfile.test_manual  --build-arg GIT_COMMIT_SHA=$(git rev-parse HEAD) --build-arg ADD_EDIT_LINKS=no -t manual_img ../..
 +docker run -v "$(pwd)":/mnt manual_img cp -rv  /workspace/artifacts/manual /mnt/ 
 +scp -r manual sham:/var/www/cp2k.org/manual/cp2k-20XX_Y-branch
 </code> </code>
  
-=== 11Check the exported branch release (just compile it or even run a regtest) ===+=== 7Update the main branch ===
  
-=== 12Create statically linked sopt and ssmp versions ===+Change back to the main branch to add a new link to [[src>docs/versions.md]] and [[src>docs/index.md]], and update the development version in [[src>src/cp2k_info.F]]. Example: https://github.com/cp2k/cp2k/commit/0904149 .
  
-=== 13Upload the tar file to sourceforge to make it appear in the list under "Files" for download using === +=== 8Update the CP2K web page ===
-<code> +
-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 +
-</code>+
  
-=== 14. Increment the version number of the development version in the files === 
-<code> 
-cp2k/src/cp2k_info.F 
-cp2k/tools/doxify/Doxyfile.template 
-cd cp2k 
-svn ci -m "Increment CP2K development version number" src/ tools/ 
-</code> 
- 
-=== 15. Update the CP2K web page === 
   * Add [[:news|News]] entry   * Add [[:news|News]] entry
   * Update [[:version_history|Version History]]   * Update [[:version_history|Version History]]
-  * Add a link to the new input reference manual under [[:docs|Documentation & Help]] +  * Update git tag on the [[:download#git_access|Download page]] 
-  * [:download|Download instructions]]+ 
 +=== 9. Dissemination ===
  
-=== 16. 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 ([[https://groups.google.com/g/cp2k/c/ydyIJh2BPoE|Example]] - ⚠️ check greeting!) 
-about the new CP2K release.+  the Twitter-sphere via the Twitter account
  
-For a new sub-release X.Y.Z repeat 6-16, correspondingly.+about the new CP2K release.
dev/release_checklist.1419245431.txt.gz · Last modified: 2020/08/21 10:14 (external edit)