Confirmed users
79
edits
(add info about central to beta merges etc.) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Sheriffing How To|Merges}} | {{Sheriffing How To|Merges}} | ||
= Goal = | = Goal = | ||
'''Autoland''' | '''Autoland''' is a repository opened for developers who work on bug fixes, improvements and other. Merging means that clean code is transferred from Autoland to Central, and back if there are any changes Central might hold, but Autoland not. <br /> | ||
<span style="color:#14866d">'''''No sync is performed, only differences are transferred.'''''</span> | <span style="color:#14866d">'''''No sync is performed, only differences are transferred.'''''</span> | ||
= Choosing a changeset to merge = | = Choosing a changeset to merge = | ||
For merges from the integration trees to mozilla-central, you should choose a changeset with a green | For merges from the integration trees to mozilla-central, you should choose a changeset with a green Shippable run to avoid bustages on nightly builds that also run on Shippable. You need to also make sure that are *NOT* any backouts *after* that changeset. | ||
'''A more in depth view of the conditions a merge candidate must fulfill:''' | '''A more in depth view of the conditions a merge candidate must fulfill:''' | ||
Line 20: | Line 20: | ||
'''Merge pattern:''' | '''Merge pattern:''' | ||
# autoland > central | # autoland > central | ||
# central > autoland <span style="color:#14866d">(if Central has changes Autoland might not)</span> | |||
# central > autoland | |||
# | |||
== Merging from autoland | == Merging from autoland to mozilla-central == | ||
Steps on how to do the <span style="color:#14866d">'''autoland | Steps on how to do the <span style="color:#14866d">'''autoland to mozilla-central'''</span> merge: | ||
# Have your revision ids ready | # Have your revision ids ready | ||
Line 33: | Line 31: | ||
# Autoland to central merge command: <code>hg merge -r <span style="color:#14866d"><autoland_revision_id></span></code> | # Autoland to central merge command: <code>hg merge -r <span style="color:#14866d"><autoland_revision_id></span></code> | ||
# Add a commit message: <code>hg commit -m "Merge autoland to mozilla-central. a=merge"</code> | # Add a commit message: <code>hg commit -m "Merge autoland to mozilla-central. a=merge"</code> | ||
# Transfer the files to Central repo: <code>hg push -r . central</code> | # Transfer the files to Central repo: <code>hg push -r . central</code> | ||
After the | After the merge is in Central, <span style="color:#FF0000">'''bugs need to be marked with Bugherder'''</span>: go to Central and in the top right side of each of your pushes to Central, click on '''Action Menu''' (arrow button next to the pin button) and choose '''Mark With Bugherder'''. | ||
[[File:Bugherder tool.png|frame|center]] | [[File:Bugherder tool.png|frame|center]] | ||
Navigate through all the pages, check for any security bugs that can’t be updated by Bugherder and mention them to someone who can, check that Resolve and Fixed checkboxes are ticked and the correct version is set. At the last step click '''Submit''' and use your '''API key''' to finish the process. Leave the tab opened until the loadbar is not displayed anymore. | Navigate through all the pages, check for any security bugs that can’t be updated by Bugherder and mention them to someone who can, check that Resolve and Fixed checkboxes are ticked and the correct version is set. At the last step click '''Submit''' and use your '''API key''' to finish the process. Leave the tab opened until the loadbar is not displayed anymore. | ||
Line 44: | Line 39: | ||
<span style="color:#14866d">'''Monitor the pushes and check that the Gecko Decision Task opt job is running. If it fails, rerun it, if it fails again the tree should be closed and the issue escalated.'''</span> | <span style="color:#14866d">'''Monitor the pushes and check that the Gecko Decision Task opt job is running. If it fails, rerun it, if it fails again the tree should be closed and the issue escalated.'''</span> | ||
== Merging back from mozilla-central to autoland | == Merging back from mozilla-central to autoland == | ||
Steps on how to do the <span style="color:#14866d">'''mozilla-central to autoland | Steps on how to do the <span style="color:#14866d">'''mozilla-central to autoland'''</span> merge: | ||
# Close | # Close autoland from [https://mozilla-releng.net/treestatus Treestatus] | ||
# In the console switch to Mozilla-unified directory: <code>cd mozilla-unified</code> | # In the console switch to Mozilla-unified directory: <code>cd mozilla-unified</code> | ||
# Download the repos: <code>hg pull fxtrees</code> | # Download the repos: <code>hg pull fxtrees</code> | ||
Line 54: | Line 49: | ||
# Add a commit message: <code>hg commit -m "Merge mozilla-central to autoland. CLOSED TREE"</code> | # Add a commit message: <code>hg commit -m "Merge mozilla-central to autoland. CLOSED TREE"</code> | ||
# Transfer the files to Autoland: <code>hg push -r . autoland</code> | # Transfer the files to Autoland: <code>hg push -r . autoland</code> | ||
These commands *might* result in race conditions on the tree when it is busy. Under those circumstances, this commands avoid delays between steps: | These commands *might* result in race conditions on the tree when it is busy. Under those circumstances, this commands avoid delays between steps: | ||
cd mozilla-unified | cd mozilla-unified | ||
hg pull && hg update | hg pull && hg update autoland && hg merge central && hg commit -m "Merge mozilla-central to autoland" && hg push -r . autoland | ||
<span style="color:#FF0000">'''Note'''</span>: For correcting a commit message, use <code>hg commit --amend</code> | <span style="color:#FF0000">'''Note'''</span>: For correcting a commit message, use <code>hg commit --amend</code> | ||
Line 75: | Line 66: | ||
# Set the m-c tree back to "approval-required" in Treestatus. This is important because if we miss this, we risk unexpected pushes to mozilla-central since some people might think the open tree is intentional. | # Set the m-c tree back to "approval-required" in Treestatus. This is important because if we miss this, we risk unexpected pushes to mozilla-central since some people might think the open tree is intentional. | ||
# Use Bugherder to mark and failures as usual for your push. If all bugs failed to get marked, entered Bugzilla API might be wrong. Close the tab and try with a new one. If only some failed, open Bugherder for that push again and append <code>&resume=1</code> to the url. | # Use Bugherder to mark and failures as usual for your push. If all bugs failed to get marked, entered Bugzilla API might be wrong. Close the tab and try with a new one. If only some failed, open Bugherder for that push again and append <code>&resume=1</code> to the url. | ||
# Now when you merge from | # Now when you merge from autoland you get the note that you need to merge. | ||
= Issues = | = Issues = |