Project

General

Profile

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.

<pre>
download="wget -N"

# Get the various tarballs
$download "http://jenkins.gromacs.org/job/Release_workflow_master/Website/*zip*/Website.zip"
cp Website.zip ${website_tarball}
$download http://jenkins.gromacs.org/job/Regressiontests_package_master/lastSuccessfulBuild/artifact/regressiontests/$regressiontests_tarball
$download http://jenkins.gromacs.org/job/Source_package_master/lastSuccessfulBuild/artifact/build/$source_tarball
</pre>

<pre>
upload="rsync -avP --chmod=u+rw,g+rw,o+r"
destination=mark@ftp.gromacs.org:/srv/ftp
$upload $source_tarball $destination/gromacs/
$upload manual-${version}.pdf $destination/manual/
$upload $regressiontests_tarball $destination/regressiontests/

md5sum $source_tarball
md5sum $regressiontests_tarball
</pre>

<pre>
upload="rsync -avP --chmod=u+rwX,g+rwX,o+rX"
deploymentlocation=mark@www.gromacs.org:/var/www/documentation
#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
)

</pre>

* update News on front of GROMACS web page - http://www.gromacs.org/
* 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 gerrit.gromacs.org 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