User Tools

Site Tools


This is an old revision of the document!

Rolling an Evergreen Release

¡This is a work in progress. It will grow and change!

  • Install the packager dependencies using the Evergreen installer makefile: (PENDING MERGE)
# sudo make -f Open-ILS/src/extras/Makefile.install <os>-packager
$ sudo make -f Open-ILS/src/extras/Makefile.install ubuntu-trusty-packager
  • Create a local working branch for the release:
$ git checkout -b rel_2_8_0 origin/master
  • Clone (or update) the translations repository in a new directory as a peer to Evergreen.
$ cd ../; 
# Clone the repository if necessary
$ bzr branch lp:~denials/evergreen/translation-export
# If already cloned, simply pull in the latest changes
$ cd translation-export; bzr pull; cd ../
  • Sync translated files with Evergreen
    • Update PO files in Evergreen
      $ Evergreen/build/i18n/scripts/update_pofiles -l translation-export -e Evergreen
      $ git add . # pick up updates
      $ git commit -asm "Translation updates - po files"
    • Update pot in Evergreen
      $ cd Evergreen/build/i18n && make newpot
    • Commit any changes that do more than modify metadata. Using the script below, enter 'k' to keep and commit any non-trivial changes.
      $ cd ../../ # back to Evergreen
      $ for file in $(git diff --name-only); do git diff $file; echo -e "\n====================  K for keep ==\n"; read X; if [ "$X" = "k" -o "$X" = "K" ]; then git add $file; fi; done
      $ git checkout -- . # kill unneeded changes
      $ git commit -asm "Translation updates - newpot"
    • Or, you could download and run this.
  • Edit ./Open-ILS/src/perlmods/lib/ and set:
our $VERSION = '2.0800';
  • Commit the version change
$ git commit -asm "bumping Perl version string for 2.8"
  • Update relator codes and commit the change (if necessary)
$ perl build/tools/relator_map > Open-ILS/src/templates/opac/parts/relators.tt2
# if 'git status' shows changes, commit them.
$ git commit -sm "Updating relator codes for 2.8" Open-ILS/src/templates/opac/parts/relators.tt2
  • Create release notes (for major version bumps)
$ ./ -r 2_8
  • Remove 2.8-specific files from docs/RELEASE_NOTES_NEXT.
    • TODO: explain this better
  • Replace references to current version with new version in docs/installation/server_upgrade.txt
  • Run the release builder script
$ export PATH=$PATH:/openils/bin
$ build/tools/make_release -c -v 2.8.0 -f origin/tags/rel_2_7_3
  • Additional notes on make_release options:
    • Use the -v flag when your branch name does not match the normal pattern, otherwise auto-detect works
    • Use the -j flag to point at wherever your OpenSRF javascript lib source is, if not already installed
      • -j ~/Git/OpenSRF/src/javascript/
    • Use the -c flag to make with the web client
    • The -f flag sets the branch "from" which this release this being made from, aka what was the last version of Evergreen prior to the one you're making. This guides the make_release towards creating a version-upgrade from X to Y.

Generate release docs

# copy README and docs/RELEASE_NOTE_2_8.txt to ../release/
# in ../release/
$ asciidoc -a toc -a numbered README_2_8
$ asciidoc -a toc -a numbered RELEASE_NOTES_2_8.txt
# delete the originals

Upload to web server

Move the release files into the correct download directories:

  • Previews / alphas / betas / release candidates go in /var/www/
  • Final releases go in /var/www/
  • Install docs go in /var/www/
  • Release notes go in /var/www/

"Tag" Working Branch

git push origin rel_2_8_0:tags/rel_2_8_0

Other notes

The following additional "to-do's" that need to be moved into actual procedures:

dev/release_process/evergreen/2.8.1442429496.txt.gz · Last modified: 2015/09/16 14:51 by erickson

© 2008-2017 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a member of Software Freedom Conservancy.