This repository was archived by the owner on Apr 10, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 361
creating a release
Jeff Kaufman edited this page Mar 4, 2016
·
44 revisions
When a new version of mod_pagespeed is released with a new version of PSOL we want to make a corresponding release. Process:
- Find the git commit on
trunk-tracking
that corresponds to the revision at which the mod_pagespeed release was branched. Call this RELCOMMIT. - run
git checkout RELCOMMIT
git checkout -b release-VERSION-beta
- run
git log ..master --reverse
to show all the commits that are on master and not on this branch. If any of those commits look like we need to keep them (there shouldn't be any, but there may be) then cherry-pick them onto this branch and also onto trunk-tracking. -
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 command likegit commit -am 'release: version 1.6.29.7 -> 1.7.30.1'
. - Push this draft release branch to github:
git push origin release-VERSION-beta:release-VERSION-beta
- From the mod_pagespeed repo, run
install/verify_nginx_release.sh VERSION /path/to/VERSION.tar.gz
This will build both debug and release versions of ngx_pagespeed to make sure it works. If this works, run it again on a 32-bit system. - 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
. - 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 3.
The easiest place to go wrong in this process is if the binaries for the PSOL release aren't generated properly. Step 7 should catch this, and step 11 definitely should if there's anything wrong.