Release checklist » History » Version 5

Version 4 (Mark Abraham, 06/12/2018 04:10 PM) → Version 5/21 (Mark Abraham, 06/12/2018 04:15 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
* 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
repo, also update REGRESSIONTEST_BRANCH if needed (major release)
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