-
Notifications
You must be signed in to change notification settings - Fork 0
creating a release
Jeff Kaufman edited this page Dec 16, 2016
·
45 revisions
- Find the git commit on
master
that corresponds to the revision at which the mod_pagespeed release was branched. Call this RELCOMMIT. - run
git checkout RELCOMMIT
- Figure out the number for the new branch you want to create.
- Create the new branch with
git checkout -b NEWBRANCH
- If you didn't create it above, checkout the release branch:
git checkout BRANCH
-
git grep OLDVERSION
and replace all the usages. So I didgit grep 1.6.29.7
and changed all to1.7.30.1
. Most importantly, update the file PSOL_BINARY_URL to contain "https://dl.google.com/dl/page-speed/psol/VERSION-$BIT_SIZE_NAME.tar.gz". - Commit this with a command like
git commit -am 'release: version 1.6.29.7 -> 1.7.30.1'
. - Push this draft release branch to github:
git push origin BRANCH
-
Buld the nginx release: (These are the old, wrong instructions) Grab install/verify_nginx_release.sh from the mod_pagespeed repo and run
install/verify_nginx_release.sh BRANCH /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. -
git checkout BRANCH
(Just in case) git tag -a vVERSION-beta -m "Release VERSION beta" && git push origin vVERSION-beta
- github will automatically generate https://github.com/pagespeed/ngx_pagespeed/archive/vVERSION-beta.zip
- Follow the build instructions from a user's perspective. These are the ones at https://github.com/pagespeed/ngx_pagespeed/tree/BRANCH#readme
- You're ready to announce the release!
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 9 definitely should if there's anything wrong.
Later, when you're ready to announce the release, update the latest-beta
tag to point to the new release:
git checkout vVERSION-beta && \
git tag -d latest-beta && \
git tag -a latest-beta -m "Marking VERSION as latest-beta" && \
git push -f origin latest-beta
We don't change code between beta and stable, it's just a tagging thing. So retag the beta version as latest-stable:
VERSION=1.11.33.4
git checkout v${VERSION}-beta
git tag -d latest-stable
git tag -a latest-stable -m "Marking $VERSION as latest-stable"
git push -f origin latest-stable