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 10:52] – adopt the git way of rolling an opensrf release (based heavily on miker's example) 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 branch: <code>$ git checkout -b rel_2_0_1 origin/rel_2_0</code> +//Version 2.0 of OpenSRF is deprecated.// 
-  - Create the Changelogfor example: <code bash>$ git log --pretty --numstat --summary b262c54e835a29ea75f22fc661eddd7637ae75aa | ~/bin/git2cl > ChangeLog</code> and commit it + 
-    * 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. +  - 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. 
-  - Bump version numbers in: +  - 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> 
-    * Update the ChangeLog in the tagged release (check it in to the tag)+$ # 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
 +    * 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)     * Update the version stamp in the tagged release (edit src/perl/lib/OpenSRF.pm)
     * README     * README
-  - Push release branch to origin +  - Follow the steps to build and test the release (see below) and ensure that all tests pass. 
-  - Checkout the branch, if not already +  - Push the temporary release branch to origin: <code>git push origin tmp_rel_2_1_0:rel_2_1</code> 
-  - git archive --prefix=opensrf-<version>/ <this-branch> | (cd ../release/ && tar xvf -) +  - 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> 
-  cd ../release/opensrf-<version>/ +git archive --prefix=opensrf-<version>/ tmp_rel_2_1_0 | (cd /tmp/ && tar xvf -) 
-  - ./autogen.sh +cd /tmp/opensrf-<version>/ 
-  tar zcvf opensrf-2.0.1.tar.gz opensrf-2.0.1/+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.
-  - md5sum opensrf-2.01.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 ChangeLog-2.0.1 +git tag -s osrf_rel_2_1_0 
-  scp ChangeLog-2.0.1 opensrf-2.0.1.tar.gz* open-ils.org:~/ +git push --tags</code> 
-  - Move the above into the correct download dir+  - <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.1313765530.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.