| [ << Release work ] | [Top][Contents][Index][ ? ] | [ Build system notes >> ] | ||
| [ < Development phases ] | [ Up : Release work ] | [ Major release checklist > ] | ||
11.2 Minor release checklist
A “minor release” means an update of y in 2.x.y.
Pre-release
- Don’t forget to prepare the GUB build machine by deleting and moving unneeded files: see “Subsequent builds” in Notes on builds with GUB.
 - 
Using any system with git pull access (not necessarily the GUB
build machine), use the commands below to do the following:
- switch to the release branch
 - update the release branch from origin/master
 - update the translation files
 - create the release announcement
 - 
update the build versions.
- VERSION_DEVEL = the current development version (previous VERSION_DEVEL + 0.01)
 - VERSION_STABLE = the current stable version (probably no change here)
 
 - update the “Welcome to LilyPond” version numbers to the version about to be released
 
This requires a system which has the release/unstable branch. If you get a warning saying you are in
detached HEADstate, then you should create a release/unstable branch withgit checkout release/unstable.Check the environment variables are set as in Environment variables.
You need to ensure you have a clean index and work tree. If the checkout displays modified files, you might want to run
git reset --hardbefore continuing.git fetch git checkout release/unstable git merge origin/master make -C $LILYPOND_BUILD_DIR po-replace mv $LILYPOND_BUILD_DIR/po/lilypond.pot po/ gedit Documentation/web/news-new.itexi Documentation/web/news-old.itexi gedit Documentation/web/news-headlines.itexi gedit VERSION gedit ly/Wel*.ly
Editing the ‘news-headlines.itexi’ file is a bit tricky, since it contains URLs with escaped characters. An example of what is needed is that releasing
2.19.50after the release of2.19.49needed the line:@uref{news.html#LilyPond-2_002e19_002e49-released-October-16_002c-2016, LilyPond 2.19.49 released - @emph{October 16, 2016}}to be changed to:
@uref{news.html#LilyPond-2_002e19_002e50-released-November-6_002c-2016, LilyPond 2.19.50 released - @emph{November 6, 2016}}Don’t forget to update the entry above that line to show the latest release version.
 - 
Commit, push, switch back to master (or wherever else):
git commit -m "Release: bump VERSION_DEVEL." VERSION git commit -m "PO: update template." po/lilypond.pot git commit -m "Release: update news." Documentation/web/ git commit -m "Release: bump Welcome versions." ly/Wel*.ly git push origin HEAD:release/unstable git checkout master
 - 
If you do not have the previous release test-output tarball, download
it and put it in 
regtests/ -  Prepare GUB environment by running:
### my-gub.sh # special terminal, and default PATH environment. # import these special environment vars: # HOME, HTTP_PROXY, TERM env -i \ HOME=$HOME \ HTTP_PROXY=$HTTP_PROXY \ bash --rcfile my-bashrc
### my-bashrc export PS1="\[\e[1;33mGUB-ENV \w\]$ \[\e[0m\]" export PATH=$PATH export TERM=xterm
 -  Build release on GUB by running:
make LILYPOND_BRANCH=release/unstable lilypond
or something like:
make LILYPOND_BRANCH=stable/2.16 lilypond
 - Check the regtest comparison in ‘uploads/webtest/’ for any unintentional breakage. More info in Precompiled regression tests.
 - 
If any work was done on GUB since the last release, upload
binaries to a temporary location, ask for feedback, and wait a day
or two in case there’s any major problems.
Note: Always do this for a stable release.
 
Actual release
-  If you’re not the right user on the webserver, remove the
tfrom the rsync command in:test-lily/rsync-lily-doc.py test-lily/rsync-test.py
 -  Upload GUB by running:
make lilypond-upload \ LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git \ LILYPOND_BRANCH=release/unstable
or something like:
make lilypond-upload \ LILYPOND_REPO_URL=git://git.sv.gnu.org/lilypond.git \ LILYPOND_BRANCH=stable/2.12
 
Post release
- 
Update the current staging branch with the current news:
git fetch git checkout origin/staging git merge origin/release/unstable
 - 
Update ‘VERSION’ in lilypond git and upload changes:
gedit VERSION
- VERSION = what you just did +0.0.1
 
git commit -m "Release: bump VERSION." VERSION git push origin HEAD:staging
If the push fails with a message like
! [rejected] HEAD -> staging (non-fast-forward)
it means that somebody else updated the staging branch while you were preparing your change. In that case, you need to restart the Post Release process. Otherwise, proceed:
 - Wait a few hours for the website to update.
 -  Email release notice to 
info-lilypond 
| [ << Release work ] | [Top][Contents][Index][ ? ] | [ Build system notes >> ] | ||
| [ < Development phases ] | [ Up : Release work ] | [ Major release checklist > ] | ||