Jetpack/Integration Process: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 1: Line 1:
This page should include instructions on updating mozilla-inbound with the latest version of the SDK code.
This page includes instructions on updating fx-team with the latest version of the SDK code.


= From Git... =
= Setting up the mercurial tree =


== Create a new version branch (do for the first uplift after mozilla-central has merged to aurora) ==
When you don't yet have a mercurial clone dedicated for doing uplifts do this:
 
hg clone https://hg.mozilla.org/integration/fx-team/ fx-team
cd fx-team/addon-sdk/source
git init
git remote add origin git@github.com:mozilla/addon-sdk.git
git fetch origin
git checkout -f <i>firefoxXX</i> #where XX is the current version you're uplifting to
 
This will give you the latest fx-team code and update the SDK files to the latest versions from the <i>firefoxXX</i> branch, in some cases that might be newer than those already in fx-team.
 
= Performing the uplift =
 
== Updating the version branches ==
 
We track the code uplifted to Firefox in branches in git, one for each version of Firefox. Each week when uplifting we merge master into the release branch for the release it will land in.
 
If the release branch for the current nightly version doesn't exist (the first week after a merge to aurora) then do this:


From your SDK repository:
From your SDK repository:
Line 9: Line 26:
  git checkout master
  git checkout master
  git pull origin master
  git pull origin master
  git checkout -b <i>firefoxXX</i> #where XX is the new Firefox version number on inbound
  git checkout -b <i>firefoxXX</i> #where XX is the new Firefox version number on fx-team
  git push -u origin <i>firefoxXX</i>
  git push -u origin <i>firefoxXX</i>


This creates a new <i>firefoxXX</i> branch in git and pushes it to the upstream repository for use. This new branch will track whatever code is in the SDK's folder in mercurial.
This creates a new <i>firefoxXX</i> branch in git and pushes it to the upstream repository for use. This new branch will track whatever code is in the SDK's folder in mercurial.


== Updating that branch ==
Any other week when the branch already exists:
 
Pick up new changes from the master branch every week or as needed:
Pick up new changes from the master branch every week or as needed:
  # merge master to <i>firefoxXX</i> directly:
  # merge master to <i>firefoxXX</i> directly:
Line 23: Line 41:
  git push origin <i>firefoxXX</i>
  git push origin <i>firefoxXX</i>


= From Mercurial =
== Creating a bug ==
 
== If you haven't checked out from mercurial before ==
 
hg clone https://hg.mozilla.org/integration/mozilla-inbound/ inbound
cd inbound/addon-sdk/source
git init
git remote add origin git@github.com:mozilla/addon-sdk.git
git fetch origin
git checkout -f <i>firefoxXX</i> #where XX is the current version you're uplifting to


This will give you the latest mozilla-inbound code and update the SDK files to the latest versions from the <i>firefoxXX</i> branch, in some cases that might be newer than those already in mozilla-inbound.
The first step is to create a bug to track the uplift. It should be in Add-on SDK::General, P1 and contain the list of changes included in the uplift, a github link works well for this. {{bug|947501}} is an example. This should also be used in the commit message, see https://hg.mozilla.org/integration/fx-team/rev/9ece804de146


== If you have previously done the above ==
== Updating the SDK code inside mercurial ==


  cd inbound
  cd fx-team
  hg pull -u
  hg pull -u # updates to the latest version of fx-team
  cd addon-sdk/source
  cd addon-sdk/source
  git reset --hard <i>firefoxXX</i> # undoes any backouts that happened in hg, XX is current m-i version number
  git reset --hard <i>firefoxXX</i> # undoes any backouts that happened in hg, XX is current m-i version number
  git pull origin <i>firefoxXX</i>  
  git pull origin <i>firefoxXX</i>  
cd ../..


Updates the Firefox and SDK files to the latest versions from the integration branch.
Updates the Firefox and SDK files to the latest versions from the integration branch.
Line 48: Line 58:
== Checking changes ==
== Checking changes ==


After updating the git and hg repositories you should add any new files from git and verify you haven't accidentally changed anything outside the add-on SDK tree. From the mozilla source directory:
After updating the git and hg repositories you should add any new files from git and verify you haven't accidentally changed anything outside the add-on SDK tree. From the fx-team source directory:


  hg addremove addon-sdk/source
  hg addremove addon-sdk/source
Line 57: Line 67:
== Testing changes ==
== Testing changes ==


Before committing you can test your changes by pushing to the try server. You need to have mercurial queues enabled for this to work.
Before committing you may want to test your changes by pushing to the try server. You need to have mercurial queues enabled for this to work.


  hg qnew -f -m "<commit message>" testpatch
  hg qnew -f -e testpatch


Creates a temporary commit that can be pushed to try. Include the output of [http://trychooser.pub.build.mozilla.org/ TryChooser] to restrict builds and tests.
Creates a temporary commit that can be pushed to try. Include the output of [http://trychooser.pub.build.mozilla.org/ TryChooser] to restrict builds and tests.
canmove, Confirmed users
1,570

edits

Navigation menu