dev:release_checklist
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:release_checklist [2015/10/28 13:57] – oschuett | dev:release_checklist [2024/08/06 14:45] (current) – oschuett | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | === 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 | + | |
- | * 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/ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=1 | + | |
- | mpiexec -np 8 ../ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=1 | + | |
- | mpiexec -np 8 ../ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=2 | + | |
- | mpiexec -np 4 ../ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=4 | + | |
- | mpiexec -np 2 ../ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=8 | + | |
- | mpiexec -np 1 ../ | + | |
- | # | + | |
- | ../ | + | |
- | export OMP_NUM_THREADS=8 | + | |
- | ../ | + | |
- | # | + | |
- | cd ${cwd} | + | |
- | # | + | |
- | for f in H2O-32-*.out; | + | |
- | </ | + | |
- | The final energies of all MD runs should agree by 10< | + | |
- | === 3. Create a new branch directory on the SVN server using === | ||
< | < | ||
- | svn mkdir svn+ssh://mkrack@svn.code.sf.net/ | + | git checkout -b support/v20XX.Y |
</ | </ | ||
- | Description text: " | ||
- | === 4. Copy the current CP2K version from the trunk using === | + | Edit the '' |
- | <code> | + | |
- | svn copy -m " | + | |
- | svn+ssh:// | + | |
- | svn+ssh:// | + | |
- | </ | + | |
- | === 5. Check the release version out using === | + | |
- | < | + | |
- | svn co svn+ssh:// | + | |
- | </ | + | |
- | === 6. Apply release specific changes === | + | |
- | * a) Change | + | |
- | * b) Provide Java version of [[http:// | + | |
- | * c) Create a file cp2k/ | + | |
- | < | + | |
- | cd cp2k-X_Y-branch/ | + | |
- | tools/ | + | |
- | svn add REVISION | + | |
- | svn ci -m "Store the revision number of the release branch" | + | |
- | 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/ | + | tools/build_utils/get_revision_number src > |
- | cp2k/tools/ | + | git add REVISION src/cp2k_info.F CMakeLists.txt |
- | cp -a ../ | + | git commit |
- | cp2k/ | + | |
</ | </ | ||
- | === 8. Create a new manual on " | + | Example: https://github.com/cp2k/cp2k/commit/6608d10 |
- | * a) Login to " | + | |
- | * b) Create a new folder '' | + | |
- | * 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:/ | + | |
- | </code> | + | |
- | <note important> | + | === 3. Tag the release and push to GitHub === |
- | Don't forget | + | |
- | </ | + | |
- | === 9. Export the release branch (checkout without .svn folders) using === | ||
< | < | ||
- | svn export http://svn.code.sf.net/p/ | + | git tag -m "Cut release version 20XX.Y" -a v20XX.Y |
+ | git push upstream_rw support/v20XX.Y v20XX.Y | ||
</ | </ | ||
- | === 10. Create | + | === 4. Create tar ball and upload to new GitHub draft release |
- | < | + | |
- | tar -cjf cp2k-X.Y.Z.tar.bz2 cp2k-X.Y.Z | + | |
- | </ | + | |
- | === 11. Check the exported branch release === | ||
- | Create statically linked '' | ||
< | < | ||
- | ln -s cp2k-X.Y.Z cp2k | + | pip3 install git-archive-all |
- | cd cp2k/ | + | git-archive-all ./cp2k-20XX.Y.tar.bz2 |
- | make -j ARCH=Linux-x86-64-gfortran-static VERSION=ssmp | + | |
- | make -j ARCH=Linux-x86-64-gfortran-static VERSION=sopt | + | |
- | </ | + | |
- | Create a '' | + | |
- | < | + | |
- | make -j ARCH=Linux-x86-64-gfortran VERSION=popt | + | |
- | cd ../.. | + | |
- | cp2k/ | + | |
</ | </ | ||
- | === 12. Upload the tar file to sourceforge to make it appear in the list under " | + | === 5. Create and upload binaries and Docker images |
< | < | ||
- | tar -cjf cp2k-X_Y-branch_LAST-Linux-x86-64-gfortran-popt.tar.bz2 LAST-Linux-x86-64-gfortran-popt | + | cd cp2k/ |
- | scp cp2k-X_Y-branch_LAST-Linux-x86-64-gfortran-popt.tar.bz2 mkrack@frs.sourceforge.net:/ | + | ./ |
- | scp cp2k-X.Y.Z/ | + | docker tag cp2k/cp2k:devZZZZZZZZ |
- | scp cp2k-X.Y.Z/ | + | docker tag cp2k/cp2k:devZZZZZZZZ |
- | scp cp2k-X.Y.Z.tar.bz2 mkrack@frs.sourceforge.net:/ | + | docker push cp2k/cp2k:20XX.Y |
+ | docker push cp2k/cp2k:latest | ||
</ | </ | ||
- | === 13. Increment the version number of the development version in the files (skip this for sub-releases) | + | === 6. Create a new manual on " |
< | < | ||
- | cp2k/src/cp2k_info.F | + | cd cp2k/tools/docker |
- | cp2k/tools/ | + | docker build -f ./Dockerfile.test_manual |
- | cd cp2k | + | docker run -v "$(pwd)":/mnt manual_img cp -rv |
- | svn ci -m "Increment CP2K development version number" | + | scp -r manual sham:/ |
</ | </ | ||
- | === 14. Update the CP2K web page === | + | === 7. Update the main branch === |
+ | |||
+ | Change back to the main branch to add a new link to [[src> | ||
+ | |||
+ | === 8. Update the CP2K web page === | ||
* Add [[: | * Add [[: | ||
* Update [[: | * Update [[: | ||
+ | * Update git tag on the [[: | ||
+ | |||
+ | === 9. Dissemination === | ||
- | === 15. 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:// |
- | about the new CP2K release. | + | |
- | For a new sub-release | + | about the new CP2K release. |
dev/release_checklist.1446040677.txt.gz · Last modified: 2020/08/21 10:14 (external edit)