User Tools

Site Tools


zzz_archive:dev:release_process:opensrf:2.0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:release_process:opensrf:2.0 [2011/05/06 13:36] – created dbszzz_archive:dev:release_process:opensrf:2.0 [2022/02/10 13:34] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ===== Rolling an OpenSRF release ===== ===== Rolling an OpenSRF release =====
  
-Rough notes, assuming you're using ''/home/dan'' as your working directory and cutting a new tagged release from the rel_2_0 branch.+//Version 2.0 of OpenSRF is deprecated.//
  
-  - Create a new branch:<code> +  - Create a local working branch for the release: <code>$ git checkout -b tmp_rel_2_1.0 origin/rel_2_1</code> This can be thrown away after you finish the release
-svn copy svn://svn.open-ils.org/OpenSRF/branches/rel_2_0 svn://svn.open-ils.org/OpenSRF/tags/rel_2_0_0_rc2 +  - Create the Changelog containing the changes for this release onlySince 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: <code bash> 
-  -m "Tag for 2.0.0 RC2 release"</code> +$ # get the date of the last commit to the previous release 
-  - Generate a ChangeLog in reverse chronological order: <code>svn2cl --group-by-day --separate-daylogs --linelen 90 -r HEAD:2020 svn://svn.open-ils.org/OpenSRF/branches/rel_2_0</code> +$ git log osrf_rel_2_0_1 # last commit was 2011-08-19 
-    * Note: I have started creating ChangeLogs that show the cumulative changes for a given release, distinguishing between alphas, betas, and point releases. Basically ''cat ChangeLog.old >> ChangeLog.new'' and add 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. +$ # this is not perfect, but it's close enough... 
-  - Update the ChangeLog in the tagged release (check it in to the tag) +$ git log --pretty --numstat --summary --since 2011-08-19 > ChangeLog.2.1.0 
-  Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm) +</code> 
-  - Create a clean export of the data: <code>svn export svn://svn.open-ils.org/OpenSRF/tags/rel_2_0_0_rc2 /home/dan/opensrf-2.0.0-rc2</code> As of 1.6.0, we have started using lower case directory and package names to comply with Debian packaging standards. +  - Bump version numbers in the temporary working branch: 
-  Generate ./configure file: <code>cd /home/dan/opensrf-2.0.0-rc2; ./autogen.sh</code> +    * Update the AC_INIT() version number in the tagged release in ''version.m4'' 
-  Tar it up: <code>cd /home/dan; tar czf opensrf-2.0.0-rc2.tar.gz opensrf-2.0.0-rc2</code> +    * Update the ChangeLog in the tagged release 
-  Create an md5 hash for the package: <code>md5sum opensrf-2.0.0-rc2.tar.gz opensrf-2.0.0-rc2.tar.gz.md5</code>+    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: <code>git push origin tmp_rel_2_1_0:rel_2_1</code> 
 +  - 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:<code bash> 
 +git archive --prefix=opensrf-<version>/ tmp_rel_2_1_0 | (cd /tmp&& tar xvf -
 +cd /tmp/opensrf-<version>
 +autoreconf -
 +cd .. 
 +tar zcvf opensrf-2.1.0.tar.gz opensrf-2.1.0
 +</code>
   - //Bonus hygiene step:// Take the tarball you just created and test installing OpenSRF from it; at the very least, ensure that ''make check'' passes.   - //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:<code bash> 
 +git tag -s osrf_rel_2_1_0 
 +git push --tags</code> 
 +  - <code bash>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:~/ 
 +</code> 
 +  - Create HTML versions of the install instructions and release notes for the web site:<code bash> 
 +asciidoc -a toc -a numbered opensrf-2.1.0/INSTALL 
 +asciidoc -a toc -a numbered opensrf-2.1.0/doc/RELEASE_NOTES.txt 
 +</code> 
 +  - 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.1304703393.txt.gz · Last modified: 2022/02/10 13:34 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.