Project

General

Profile

Release checklist » History » Version 7

Mark Abraham, 06/12/2018 04:24 PM

1 1 Mark Abraham
h1. Release checklist
2 1 Mark Abraham
3 2 Mark Abraham
* add new redmine version targets
4 2 Mark Abraham
* bump bugs that won't get fixed in time to next version (or untag a version number)
5 2 Mark Abraham
* merge in appropriate branches from earlier releases
6 6 Mark Abraham
* 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
7 2 Mark Abraham
* 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
8 3 Mark Abraham
* bump shared object minor version for point releases
9 3 Mark Abraham
* consider bumping shared object major version for point releases - see cmake/gmxVersionInfo.cmake for policy
10 2 Mark Abraham
* check for new GROMACS papers that should be mentioned in source and manual
11 5 Mark Abraham
12 5 Mark Abraham
* run release workflow a few days in advance to check things work
13 5 Mark Abraham
  - this also builds the tarball correctly, when the RELEASE checkbox is ticked, which we need for updating the REGRESSIONTEST_MD5SUM in cmake/gmxVersionInfo.cmake
14 5 Mark Abraham
  - TODO automate this along the lines of the regressiontests auto-builder
15 5 Mark Abraham
16 7 Mark Abraham
* upload source tarball to FTP site, give correct permissions, check link works - TODO automate the stuff below into a Jenkins job that we trigger manually after the release workflow is satisfactory
17 4 Mark Abraham
18 4 Mark Abraham
<pre>
19 4 Mark Abraham
download="wget -N"
20 4 Mark Abraham
21 4 Mark Abraham
# Get the various tarballs
22 4 Mark Abraham
$download "http://jenkins.gromacs.org/job/Release_workflow_master/Website/*zip*/Website.zip"
23 4 Mark Abraham
cp Website.zip ${website_tarball}
24 4 Mark Abraham
$download http://jenkins.gromacs.org/job/Regressiontests_package_master/lastSuccessfulBuild/artifact/regressiontests/$regressiontests_tarball
25 4 Mark Abraham
$download http://jenkins.gromacs.org/job/Source_package_master/lastSuccessfulBuild/artifact/build/$source_tarball
26 4 Mark Abraham
</pre>
27 4 Mark Abraham
28 4 Mark Abraham
<pre>
29 4 Mark Abraham
upload="rsync -avP --chmod=u+rw,g+rw,o+r"
30 4 Mark Abraham
destination=mark@ftp.gromacs.org:/srv/ftp
31 4 Mark Abraham
$upload $source_tarball $destination/gromacs/
32 4 Mark Abraham
$upload manual-${version}.pdf $destination/manual/
33 4 Mark Abraham
$upload $regressiontests_tarball $destination/regressiontests/
34 4 Mark Abraham
35 4 Mark Abraham
md5sum $source_tarball
36 4 Mark Abraham
md5sum $regressiontests_tarball
37 4 Mark Abraham
</pre>
38 4 Mark Abraham
39 4 Mark Abraham
<pre>
40 4 Mark Abraham
upload="rsync -avP --chmod=u+rwX,g+rwX,o+rX"
41 4 Mark Abraham
deploymentlocation=mark@www.gromacs.org:/var/www/documentation
42 4 Mark Abraham
#mkdir -p $deploymentlocation/$version
43 4 Mark Abraham
44 4 Mark Abraham
# Unpack the website tarball
45 4 Mark Abraham
(
46 4 Mark Abraham
    #    cd $deploymentlocation;
47 4 Mark Abraham
    cd /tmp
48 4 Mark Abraham
    unzip -u $originalpwd/${website_tarball} >& /dev/null
49 4 Mark Abraham
    $upload Website/* Website/.[a-z]* $deploymentlocation/${version}/
50 4 Mark Abraham
    cp Website/manual*pdf $originalpwd
51 4 Mark Abraham
    #rm -rf Website
52 4 Mark Abraham
)
53 4 Mark Abraham
54 4 Mark Abraham
</pre>
55 1 Mark Abraham
56 1 Mark Abraham
* update News on front of GROMACS web page - http://www.gromacs.org/
57 5 Mark Abraham
* TODO make notes of what goes into this commit and the one that follows the tagged commit
58 5 Mark Abraham
    - tag the commit from which the tarball was made, and do explicit upload to gerrit.gromacs.org repo
59 5 Mark Abraham
    - update REGRESSIONTEST_BRANCH if needed (major release)
60 5 Mark Abraham
    - sometimes bump GMX_VERSION_* variables
61 5 Mark Abraham
    - bumps to release notes index.rst and directory structure
62 5 Mark Abraham
63 3 Mark Abraham
* once the gerrit change is submitted and the release email sent, make tag of the correct form in local repo
64 3 Mark Abraham
* bump version in cmake/gmxVersionInfo.cmake in the commit following the tag.
65 3 Mark Abraham
* add new stub file for release notes for next version, and entry in index.rst
66 3 Mark Abraham
* git push --tags to gerrit repo
67 3 Mark Abraham
* later, check tags propagate to gromacs and github
68 2 Mark Abraham
* post on gmx-users and gmx-announce.
69 2 Mark Abraham
* post on Google+ and Facebook pages
70 3 Mark Abraham
* thank gmx-developers
71 2 Mark Abraham
* bump/close/update open redmine issues
72 2 Mark Abraham
* close completed redmine versions
73 2 Mark Abraham
* beer
74 2 Mark Abraham
75 2 Mark Abraham
76 2 Mark Abraham
TODO some recent examples of post-release emails