Jetpack/Release Process: Difference between revisions

update final-release steps
(update the command for listing changes between master and stabilization to a better one)
(update final-release steps)
Line 308: Line 308:
= Release =
= Release =


== Bless Candidate ==
== Create Final Build ==


(note: this is out-of-date, pending Brian's versioneer rewrite)
Create a final tarball/ZIP archive, from the same sources as the most recent
release candidate (JPRCV). This uses the same steps as "Spin Test Builds"
above, but with a finalized version name:


Copy the tarball/ZIP archive for the most recent release candidate to files whose names instead contain the final version:
git clone git@github.com:mozilla/addon-sdk.git
cd addon-sdk
git checkout stabilization


  ssh stage.mozilla.org
Recall the version of the last release candidate:
cd /pub/mozilla.org/labs/jetpack/
 
  export JPCV=(CANDIDATE VERSION)
export JPRCV=1.2rc2
  export JPFV=(FINAL VERSION)
 
  cp addon-sdk-${JPCV}.zip addon-sdk-${JPFV}.zip
Determine the version identifier for the final release (e.g. 1.2), and store
  cp addon-sdk-${JPCV}.tar.gz addon-sdk-${JPFV}.tar.gz
it in JPFV:
 
export JPFV=1.2
 
Tag the repository with the final version identifier, but do not push the tag
until all subsequent validation steps have been completed:
 
git tag ${JPFV}
 
Confirm that the revision id for the final release is the same as the last
release candidate:
 
git diff ${JPRCV} ${JPFV}
  # should produce no output
 
Create a tarball and ZIP archive:
 
git archive --format=zip --output addon-sdk-${JPFV}.zip --prefix addon-sdk-${JPFV}/ ${JPFV}
git archive --format=tar --output addon-sdk-${JPFV}.tar --prefix addon-sdk-${JPFV}/ ${JPFV}
gzip addon-sdk-${JPFV}.tar # makes addon-sdk-${JPFV}.tar.gz
 
Retrieve, unpack, and compare the last release candidate tarball against the
newly generated one. The only difference should be the embedded version
string:
 
scp stage.mozilla.org:/pub/mozilla.org/labs/jetpack/addon-sdk-${JPRCV}.tar.gz ./
  tar xf addon-sdk-${JPRCV}.tar.gz
  tar xf addon-sdk-${JPFV}.tar.gz
  diff -urN addon-sdk-${JPRCV} addon-sdk-${JPFV}
# should show one line different in python-lib/cuddlefish/_version.py
# git_refnames= should change from JPRCV to JPFV
 
In the newly generated and unpacked tarball, confirm that the code reports
the correct version:
 
addon-sdk-${JPFV}/bin/cfx --version
# Add-on SDK $JPFV (hex revision id)
 
Everything looks good.
 
== Commit (to the) New Release ==
 
Now copy the archives to the distribution server:
 
  scp addon-sdk-${JPFV}.tar.gz addon-sdk-${JPFV}.zip stage.mozilla.org:/pub/mozilla.org/labs/jetpack/
 
Merge the stabilization branch to the release branch: this should be a
fast-forward merge, because after each release, the release branch is merged
back into the stabilization branch:
 
git checkout release
git merge --ff-only stabilization
 
And push the final release tag and the release branch to the public repo:
 
git push origin ${JPFV} stabilization release


== Update AMO Validator ==
== Update AMO Validator ==
Confirmed users
471

edits