Release Management/Requesting an Uplift

From MozillaWiki
Jump to: navigation, search

See the uplift rules Wiki page for more information on uplifts.

Please file a bug if you encounter issues requesting an uplift, or tell us about the problem in #uplift-pilot on Slack.

Requesting an Uplift

Requesting a patch uplift is completed using the standard Mozilla code review and landing tools and processes. Creating an uplift request can be done either:

  • By finding the patch in your local VCS and submitting via moz-phab uplift.
  • By finding the patch on Phabricator and submitting via Lando.

After submitting the patch stack via either method, you must complete the Uplift Request form on the tip of the patch stack. This will request review from Release Management.

Requesting Uplift using moz-phab

  1. Find the patch or series of patches in your local VCS. You can moz-phab patch onto your local machine if need be.
  2. Determine which uplift train you want to request an uplift for. You can see which trains are available with moz-phab uplift --list-trains.
  3. Run moz-phab uplift --train <train> <first revision of patches to uplift> <last revision of patches to uplift>. Most of the arguments to moz-phab uplift are the same as moz-phab submit. This will create new revisions in Phabricator that will be uplifted to the specified train. If moz-phab uplift is run from mozilla-unified, the stack of patches will be rebased onto the target that will be landed to. For example if you specify --train beta, the patches will be rebased onto the beta head in your local VCS. If moz-phab uplift is run from central or another non-unified repo, the commits will be submitted without attempting to rebase them. Note you must use moz-phab uplift, not moz-phab sumbit or any other unsupported tool to submit uplift requests.
  4. Open the URL as suggested at the bottom of the output.
  5. Complete the uplift request form. See the section below on how to submit the form.

Requesting Uplift using Lando

  1. Go to the Lando page for the stack of revisions to uplift. Note: the maximum stack size for use in the web UI is 5 patches. Please use moz-phab to submit larger patch stacks. You can get here from the Phabricator revision by using the “View stack in Lando” option on the right side menu.
  2. Log in to Lando. Click the Log In button in the top right.
  3. Add your Phabricator API token and save changes. Click your username in the top right corner and paste the Phabricator API token there. Tokens are in the form api-XXXXX…. This token can be found here (replace <USERNAME> with your phab username): https://phabricator.services.mozilla.com/settings/user/<USERNAME>/page/apitokens/
    Click your username in the top right corner and paste the Phabricator API token there.
  4. Click the “Preview Landing” button. There should be a new button on the bottom right of the modal that is shown. Select the target repo (beta) from the list and click “request uplift”. This will create a new Phabricator diff against the requested target.
    Click the "Request uplift" button in the bottom right.
  5. Complete the uplift request form in the newly created diff. See the section below on how to submit the form.

Submit the Uplift Request Form

Once your revision is created in Phabricator, you must complete the uplift request form. This form is a short questionnaire that helps Release Managers understand the reasoning behind the uplift request and the risk associated with this patch landing directly on a release repository without riding the release trains.

  1. Go to a revision in the uplift request stack.
  2. Navigate to the bottom of the page where you would “approve” or “request changes” for a patch and select “Change uplift request form”.
    Select "Change uplift request form".
  3. Complete the form and press “request uplift”.
    Complete the form and click "Request uplift".
  4. Wait for Release Manager approval. A bot will automatically set Release Managers as reviewers for the patch after submitting the form. If the patch stack does not apply cleanly to the uplift train due to a merge conflict, you may need to resolve merge conflicts and re-submit the stack. The uplift request will sit in a pending state until a Release Manager approves, the Release Manager will land after approval.