Sheriffing/How To/Landing patches: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Replace instructions with updated ones detailing #Check-in Needed using Phabricator and Lando.)
No edit summary
Line 7: Line 7:
** Visit https://phabricator.services.mozilla.com/differential/ and click the '''#Check-in Needed''' link in the left menu’s list of queries.
** Visit https://phabricator.services.mozilla.com/differential/ and click the '''#Check-in Needed''' link in the left menu’s list of queries.
** It is important to follow the link in this menu rather than use a direct link as if the query is modified the URL will be changed.
** It is important to follow the link in this menu rather than use a direct link as if the query is modified the URL will be changed.
[[File:Check-in needed phabricator query menu.png|frame|center|Location of the menu link for '''#Check-in Needed''' Query]]
[[File:Check-in needed phabricator query menu.png|203px|Location of the menu link for '''#Check-in Needed''' Query]]


= How to land '''#Check-in Needed''' revisions =
= How to land '''#Check-in Needed''' revisions =
Line 15: Line 15:
=== Steps: ===
=== Steps: ===
* Access the revision and click '''View Stack in Lando''' at the top right of the page:
* Access the revision and click '''View Stack in Lando''' at the top right of the page:
[[File:Check-in needed phabricator view stack in lando.png|frame|center|Location of the '''View Stack in Lando''' link]]
[[File:Check-in needed phabricator view stack in lando.png|779px|Location of the '''View Stack in Lando''' link]]


* Verify that the reviewers who have accepted the revision have proper authority.
* Verify that the reviewers who have accepted the revision have proper authority.
** Look at the reviewers column in the table showing the stack of revisions and identify the reviewers who have accepted each revision.
** Look at the reviewers column in the table showing the stack of revisions and identify the reviewers who have accepted each revision.
** Verify these reviewers are [[Modules/All|Module Owners/Peers]] and have the authority to review code for Firefox.
** Verify these reviewers are [[Modules/All|Module Owners/Peers]] and have the authority to review code for Firefox.
[[File:Check-in needed lando verify reviewers.png|frame|center|Location of reviewers in Lando]]
[[File:Check-in needed lando verify reviewers.png|754px|Location of reviewers in Lando]]


* Click the '''Preview Landing''' button in the bottom right corner of the page.
* Click the '''Preview Landing''' button in the bottom right corner of the page.
[[File:Check-in needed lando click preview landing.png|frame|center|Location of the '''Preview Landing''' button]]
[[File:Check-in needed lando click preview landing.png|790px|Location of the '''Preview Landing''' button]]


* Quickly look over each commit message’s first line in the landing preview to ensure it is formatted correctly. Note that the preview pane scrolls vertically to list all of the commits.
* Quickly look over each commit message’s first line in the landing preview to ensure it is formatted correctly. Note that the preview pane scrolls vertically to list all of the commits.
[[File:Check-in needed lando inspect commit messages.png|frame|center|Location of each commit message's first line.]]
[[File:Check-in needed lando inspect commit messages.png|922px|Location of each commit message's first line.]]


* Check the landing warnings.
* Check the landing warnings.
** The bottom of the landing preview might contain a list of warnings that block landing unless acknowledged.
** The bottom of the landing preview might contain a list of warnings that block landing unless acknowledged.
** Warnings should not be acknowledged without consideration.
** Warnings should not be acknowledged without consideration.
** '''Only the "Has Previously landed." warning is acceptable to acknowledge''' and continue landing. If there are any other warnings present landing should halt.
** {{warning|Only the "Has Previously landed" warning is acceptable to acknowledge and continue landing. If there are any other warnings present landing should halt.}}
[[File:Check-in needed lando warnings list.png|frame|center|A list of warnings in the Landing Preview]]
[[File:Check-in needed lando warnings list.png|407px|A list of warnings in the Landing Preview]]


=== If you cannot land the patch from the GUI: ===
=== If you cannot land the patch from the GUI: ===
* Remove the '''#Check-in Needed''' project tag.
* Remove the '''#Check-in Needed''' project tag.
** To do this access the revision and click '''Edit Revision''' at the top right of the page.
** To do this access the revision and click '''Edit Revision''' at the top right of the page.
[[File:Check-in needed phabricator edit revision.png|frame|center|Location of the '''Edit Revision''' link]]
[[File:Check-in needed phabricator edit revision.png|779px|Location of the '''Edit Revision''' link]]
* Comment on the revision that it could not be checked-in, providing the reason.
* Comment on the revision that it could not be checked-in, providing the reason.

Revision as of 17:34, 18 September 2019

Sheriffs have the responsibility for landing checkin-needed patches on behalf of others who do not have the needed commit access to do so themselves or those who do not have the ability to watch their pushes afterwards.
Usually, patches should be landed after the merges and after the nightly builds started running. Of course, it can also be done when requested.

Phabricator queries for revisions requiring check-in

  • There is a saved Phabricator differential query that may be used to find revisions requiring check-in.

Location of the menu link for #Check-in Needed Query

How to land #Check-in Needed revisions

The only supported method for landing check-in needed patches from Phabricator is Lando.

Landing revisions via Lando (to integration/autoland)

Steps:

  • Access the revision and click View Stack in Lando at the top right of the page:

Location of the View Stack in Lando link

  • Verify that the reviewers who have accepted the revision have proper authority.
    • Look at the reviewers column in the table showing the stack of revisions and identify the reviewers who have accepted each revision.
    • Verify these reviewers are Module Owners/Peers and have the authority to review code for Firefox.

Location of reviewers in Lando

  • Click the Preview Landing button in the bottom right corner of the page.

Location of the Preview Landing button

  • Quickly look over each commit message’s first line in the landing preview to ensure it is formatted correctly. Note that the preview pane scrolls vertically to list all of the commits.

Location of each commit message's first line.

  • Check the landing warnings.
    • The bottom of the landing preview might contain a list of warnings that block landing unless acknowledged.
    • Warnings should not be acknowledged without consideration.
    • Warning signWarning: Only the "Has Previously landed" warning is acceptable to acknowledge and continue landing. If there are any other warnings present landing should halt.

A list of warnings in the Landing Preview

If you cannot land the patch from the GUI:

  • Remove the #Check-in Needed project tag.
    • To do this access the revision and click Edit Revision at the top right of the page.

Location of the Edit Revision link

  • Comment on the revision that it could not be checked-in, providing the reason.