Release checklist » History » Version 6

Version 5 (Mark Abraham, 06/12/2018 04:15 PM) → Version 6/21 (Mark Abraham, 06/12/2018 04:19 PM)

h1. Release checklist

* add new redmine version targets
* bump bugs that won't get fixed in time to next version (or untag a version number)
* merge in appropriate branches from earlier releases
* if regressiontests changes with matching source changes are needed, do the cross-verify checks to see that things are working, and plan to submit the patches either early or the very last thing, to minimize mysterious Jenkins failures because an outdated parent is in use
announce release schedule - give devs a week or two to fix things they intended to fix, provide links to gerrit and redmine pages for that branch/version
* bump shared object minor version for point releases
* consider bumping shared object major version for point releases - see cmake/gmxVersionInfo.cmake for policy
* check for new GROMACS papers that should be mentioned in source and manual

* run release workflow a few days in advance to check things work
- this also builds the tarball correctly, when the RELEASE checkbox is ticked, which we need for updating the REGRESSIONTEST_MD5SUM in cmake/gmxVersionInfo.cmake
- TODO automate this along the lines of the regressiontests auto-builder

* Mark get that script out: upload source tarball to FTP site, give correct permissions, check link works.

download="wget -N"

# Get the various tarballs
$download "*zip*/"
cp ${website_tarball}

upload="rsync -avP --chmod=u+rw,g+rw,o+r"
$upload $source_tarball $destination/gromacs/
$upload manual-${version}.pdf $destination/manual/
$upload $regressiontests_tarball $destination/regressiontests/

md5sum $source_tarball
md5sum $regressiontests_tarball

upload="rsync -avP --chmod=u+rwX,g+rwX,o+rX"
#mkdir -p $deploymentlocation/$version

# Unpack the website tarball
# cd $deploymentlocation;
cd /tmp
unzip -u $originalpwd/${website_tarball} >& /dev/null
$upload Website/* Website/.[a-z]* $deploymentlocation/${version}/
cp Website/manual*pdf $originalpwd
#rm -rf Website


* update News on front of GROMACS web page -
* TODO make notes of what goes into this commit and the one that follows the tagged commit
- tag the commit from which the tarball was made, and do explicit upload to repo
- update REGRESSIONTEST_BRANCH if needed (major release)
- sometimes bump GMX_VERSION_* variables
- bumps to release notes index.rst and directory structure

* once the gerrit change is submitted and the release email sent, make tag of the correct form in local repo
* bump version in cmake/gmxVersionInfo.cmake in the commit following the tag.
* add new stub file for release notes for next version, and entry in index.rst
* git push --tags to gerrit repo
* later, check tags propagate to gromacs and github
* post on gmx-users and gmx-announce.
* post on Google+ and Facebook pages
* thank gmx-developers
* bump/close/update open redmine issues
* close completed redmine versions
* beer

TODO some recent examples of post-release emails