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
dev:release_process:opensrf:2.0 [2011/08/19 12:55] – updated for git tagging per gmcharlt's instructions - thanks Galen! 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 =====
  
-  - 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.md5sum +  - 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.1313772906.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.