zzz_archive:dev:release_process:opensrf:2.0
Rolling an OpenSRF release
Version 2.0 of OpenSRF is deprecated.
- Create a local working branch for the release:
$ git checkout -b tmp_rel_2_1.0 origin/rel_2_1
. This can be thrown away after you finish the release.
- Create the Changelog containing the changes for this release only. Since 1.6.0 we have been creating ChangeLogs that show the cumulative changes for a given release in reverse chronological order, distinguishing between alphas, betas, and point releases, with a header distinguishing each block of changes. That way we will not have to link to ten different ChangeLogs if we reach 1.6.10 for example:
$ # get the date of the last commit to the previous release $ git log osrf_rel_2_0_1 # last commit was 2011-08-19 $ # this is not perfect, but it's close enough... $ git log --pretty --numstat --summary --since 2011-08-19 > ChangeLog.2.1.0
- Bump version numbers in the temporary working branch:
- Update the AC_INIT() version number in the tagged release in
version.m4
- Update the ChangeLog in the tagged release
- Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm)
- README
- Follow the steps to build and test the release (see below) and ensure that all tests pass.
- Push the temporary release branch to origin:
git push origin tmp_rel_2_1_0:rel_2_1
- Create a clean export of the files in a working directory (
/tmp
in the following example) and generate a tarball that contains the autotools-ized files:git archive --prefix=opensrf-<version>/ tmp_rel_2_1_0 | (cd /tmp/ && tar xvf -) cd /tmp/opensrf-<version>/ autoreconf -i cd .. tar zcvf opensrf-2.1.0.tar.gz opensrf-2.1.0/
- Bonus hygiene step: Take the tarball you just created and test installing OpenSRF from it; at the very least, ensure that
make check
passes. - If all is well, tag the branch (-s requires having a GPG public key installed) and push the new tag to the public repository:
git tag -s osrf_rel_2_1_0 git push --tags
md5sum opensrf-2.1.0.tar.gz > opensrf-2.1.0.tar.gz.md5 cp opensrf-2.1.0/ChangeLog OpenSRF-ChangeLog-2.1.0 scp OpenSRF-ChangeLog-2.1.0 opensrf-2.1.0.tar.gz* open-ils.org:~/
- Create HTML versions of the install instructions and release notes for the web site:
asciidoc -a toc -a numbered opensrf-2.1.0/INSTALL asciidoc -a toc -a numbered opensrf-2.1.0/doc/RELEASE_NOTES.txt
- Move the release files into the correct download directories:
- Previews / alphas / betas / release candidates go in
/var/www/open-ils.org/downloads/previews/
- Final releases go in
/var/www/open-ils.org/downloads/
- Install docs go in
/var/www/open-ils.org/documentation/install/OpenSRF/
- Release notes go in
/var/www/open-ils.org/documentation/release/OpenSRF/
zzz_archive/dev/release_process/opensrf/2.0.txt · Last modified: 2022/02/10 13:34 by 127.0.0.1