-
Notifications
You must be signed in to change notification settings - Fork 0
creating a release
Jeff Kaufman edited this page Mar 17, 2014
·
45 revisions
When a new version of mod_pagespeed is released with a new version of PSOL we want to make a corresponding release. Process:
- Check out
trunk-tracking
, mergemaster
into it. git checkout -b release-VERSION-beta
-
git grep OLDVERSION
and replace all the usages. So I didgit grep 1.6.29.7
and changed all to1.7.30.1
. Commit this with a message likerelease: version 1.6.29.7 -> 1.7.30.1
. git checkout -b USERNAME-prepare-release-VERSION-beta
- Make whatever changes you need to get it to build against
http://modpagespeed.googlecode.com/svn/tags/VERSION/src
, including porting/backporting any tests. - Run the standard tests:
$ test/run_tests.sh 8050 8051 /path/to/mod_pagespeed/ /path/to/sbin/nginx
- Run the tests again with
TEST_NATIVE_FETCHER=true TEST_SERF_FETCHER=false
. - Run steps 7 and 8 again with USE_VALGRIND=true.
- If you made any changes in step 5 or in response to failing tests, send your changes out for review as a pull request against
release-VERSION-beta
: https://github.com/pagespeed/ngx_pagespeed/compare/release-VERSION-beta...USERNAME-prepare-release-VERSION-beta - When those are merged and pushed github will automatically generate https://github.com/pagespeed/ngx_pagespeed/archive/release-VERSION-beta.zip
git checkout release-VERSION-beta
git tag -a vVERSION-beta -m "Release VERSION beta" && git push origin vVERSION-beta
- Follow the build instructions from a user's perspective. These are the ones at https://github.com/pagespeed/ngx_pagespeed/tree/release-VERSION-beta#readme
- If this all works, we need to replace the
master
branch with the release branch:git push -f origin release-VERSION-beta:master
. Make sure you remembered to mergemaster
intotrunk-tracking
in step 1. - You're ready to announce the release!
If you're doing a point release, that is a release based off of another release, like "1.7.30.2" based on "1.7.30.1" the steps are a slightly different:
- Check out release-PREV-VERSION-beta (If making 1.7.30.8 the
PREV-VERSION
would be 1.7.30.7.) - Follow all the steps above, starting with step 2.
- In step 14, instead of replacing the
master
branch, mergerelease-VERSION-beta
intomaster
.
The easiest place to go wrong in this process is if the binaries for the PSOL release aren't generated properly. Step 6 should catch this, and step 13 definitely should if there's anything wrong.