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

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
dev:release_process:opensrf:2.0 [2011/08/19 14:44] – md5 file extension, not md5sum dbszzz_archive:dev:release_process:opensrf:2.0 [2020/10/30 11:31] – ↷ Page moved from dev:release_process:opensrf:2.0 to zzz_archive:dev:release_process:opensrf:2.0 roganh
Line 1: Line 1:
 ===== Rolling an OpenSRF release ===== ===== Rolling an OpenSRF release =====
  
-  - Create a local working branch for the release: <code>$ git checkout -b tmp_rel_2_0_1 origin/rel_2_0</code> This can be thrown away after you finish the release. +//Version 2.0 of OpenSRF is deprecated.//
-  - 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 changesThat way we will not have to link to ten different ChangeLogs if we reach 1.6.10 for example: <code bash> +
-$ git log --pretty --numstat --summary 812d529.. | sed -e 's/Signed-off-by:/\n\n\t&/g' > ChangeLog.2.0.1 +
-$ echo '0r ChangeLog.2.0.1 +
-+
-0a +
-Changelog for 2.0.1 +
-===================+
  
-+  - 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
-w| ed ChangeLog</code>+  - 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: <code bash> 
 +$ # 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 
 +</code>
   - Bump version numbers in the temporary working branch:   - 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 ChangeLog in the tagged release
     * Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm)     * Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm)
     * README     * README
   - Follow the steps to build and test the release (see below) and ensure that all tests pass.   - Follow the steps to build and test the release (see below) and ensure that all tests pass.
-  - Tag the branch (-s requires having a GPG public key installed and push it): +  - Push the temporary release branch to origin: <code>git push origin tmp_rel_2_1_0:rel_2_1</code>
-    - <code bash>git tag -s osrf_rel_2_0_1 +
-git push --tags</code> +
-  - Push the temporary release branch to origin: <code>git push origin tmp_rel_2_0_1:rel_2_0</code> +
-  - Checkout the tag: <code>git checkout osrf_rel_2_0_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>   - 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>/ <tagname> | (cd /tmp/ && tar xvf -)+git archive --prefix=opensrf-<version>/ tmp_rel_2_1_0 | (cd /tmp/ && tar xvf -)
 cd /tmp/opensrf-<version>/ cd /tmp/opensrf-<version>/
-./autogen.sh+autoreconf -i
 cd .. cd ..
-tar zcvf opensrf-2.0.1.tar.gz opensrf-2.0.1/+tar zcvf opensrf-2.1.0.tar.gz opensrf-2.1.0/
 </code> </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.
-  - <code bash>md5sum opensrf-2.0.1.tar.gz > opensrf-2.0.1.tar.gz.md5 +  - 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> 
-cp opensrf-2.0.1/ChangeLog OpenSRF-ChangeLog-2.0.1 +git tag -s osrf_rel_2_1_0 
-scp OpenSRF-ChangeLog-2.0.1 opensrf-2.0.1.tar.gz* open-ils.org:~/+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> </code>
-  - Move the above into the correct download dir+  - 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

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.