dev:release_checklist
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:release_checklist [2014/12/22 10:50] – krack | dev:release_checklist [2023/07/28 12:39] – 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 '' |
< | < | ||
- | svn copy -m " | + | tools/ |
- | svn+ssh:// | + | git add REVISION |
- | svn+ssh:// | + | git commit |
- | </ | + | |
- | === 5. Check the release version out using === | + | |
- | < | + | |
- | svn co svn+ssh:// | + | |
- | </ | + | |
- | === 6. Apply release specific changes === | + | |
- | * a) Change cp2k_info.F (comment/ | + | |
- | * 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 | + | |
- | cd .. | + | |
</ | </ | ||
- | === 7. Compile | + | Example: https:// |
- | The reference outputs can be retrieved from the branched CP2K trunk version: | + | |
+ | === 3. Tag the release and push to GitHub | ||
< | < | ||
- | cp -a ../ | + | git tag -m "Cut release version 20XX.Y" |
- | cp2k/ | + | git push upstream_rw support/v20XX.Y v20XX.Y |
- | cp -a ../ | + | |
- | cp2k/tools/ | + | |
</ | </ | ||
- | === 8. Create | + | === 4. Create |
- | * 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/ | + | pip3 install git-archive-all |
- | ./ | + | git-archive-all ./cp2k-20XX.Y.tar.bz2 |
</ | </ | ||
- | === 9. Export the release branch (checkout without .svn folders) using === | + | === 5. Create and upload binaries and Docker images |
< | < | ||
- | svn export http://svn.code.sf.net/p/cp2k/ | + | cd cp2k/tools/docker |
+ | ./ | ||
+ | docker tag cp2k/cp2k: | ||
+ | docker tag cp2k/cp2k: | ||
+ | docker push cp2k/cp2k:20XX.Y | ||
+ | docker push cp2k/ | ||
</ | </ | ||
- | === 10. Create a bzip2 tar file using === | + | === 6. Create a new manual on " |
< | < | ||
- | tar -cjf cp2k-X.Y.Z.tar.bz2 cp2k-X.Y.Z | + | cd cp2k/ |
+ | docker build -f ./Dockerfile.test_manual | ||
+ | docker run -v " | ||
+ | scp -r manual sham:/ | ||
</ | </ | ||
- | === 11. Check the exported | + | === 7. Update |
- | === 12. Create statically linked sopt and ssmp versions === | + | Change back to the main branch to add a new link in the [[src> |
- | === 13. Upload | + | === 8. Update |
- | < | + | |
- | scp cp2k-X.Y.Z/ | + | |
- | scp cp2k-X.Y.Z/ | + | |
- | scp cp2k-X.Y.Z.tar.bz2 mkrack@frs.sourceforge.net:/ | + | |
- | </ | + | |
- | === 14. Increment the version number of the development version in the files === | ||
- | < | ||
- | cp2k/ | ||
- | cp2k/ | ||
- | cd cp2k | ||
- | svn ci -m " | ||
- | </ | ||
- | |||
- | === 15. Update the CP2K web page === | ||
* Add [[: | * Add [[: | ||
* Update [[: | * Update [[: | ||
- | * Add a link to the new input reference manual under [[: | + | * Update git tag on the [[:download#git_access|Download |
- | * [[: | + | |
+ | === 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:// |
- | about the new CP2K release. | + | |
- | For a new sub-release | + | about the new CP2K release. |
dev/release_checklist.txt · Last modified: 2024/08/06 14:45 by oschuett