Closed Bug 1183295 Opened 5 years ago Closed 5 years ago

Allow Autoland to have non-Try destinations

Categories

(Conduit :: Transplant, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dminor, Assigned: dminor)

References

Details

Attachments

(6 files)

At the moment, Autoland assumes the destination tree is 'Try'. This code should be made generic to allow landing to non-Try destinations like inbound and version-control-tools.
Assignee: nobody → dminor
Status: NEW → ASSIGNED
autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

At the moment, the Autoland code assumes the destination is Try. This patch
makes the 'try syntax' optional and adds support for pushing using a bookmark,
as well as removing gecko specific naming conventions.
Attachment #8634240 - Flags: review?(gps)
autoland: support push_bookmark in REST endpoints (bug 1183295) r?mdoglio

This adds support to for the push_bookmark field in the autoland json
structure.
Attachment #8634241 - Flags: review?(mdoglio)
autoland: handle unrecognized trees in treestatus (bug 1183295) r?mdoglio

When we start autolanding to non-gecko trees like version-control-tools we need
to deal with tree status that isn't present on treestatus.mozilla.org. For now,
we'll assume any unrecognized tree is open.
Attachment #8634242 - Flags: review?(mdoglio)
autoland: support longer tree and destination names (bug 1183295) r?mdoglio

Turns out 'version-control-tools' is 21 characters, so we should probably
support longer source and destination tree names.
Attachment #8634243 - Flags: review?(mdoglio)
autoland: test non-Try destinations (bug 1183295) r?mdoglio
Attachment #8634244 - Flags: review?(mdoglio)
mozreview: rename autoland try tree in mozreview extension (bug 1183295) r?mdoglio
Attachment #8634245 - Flags: review?(mdoglio)
Comment on attachment 8634240 [details]
MozReview Request: autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

https://reviewboard.mozilla.org/r/13355/#review12041

Bookmarks are symbolic names and not something I'm comfortable using as part of automation. I think we'll want each autoland request to have a "destination" "repository", possibly defined as a (repo/url, branch) pair. Then, the Mercurial code will pull the remote, resolve the remote head, rebase/transplant, and push. If you want to do just the DB changes, I'll sign up to do the version control bits: that is on my Q3 deliverables after all.
Attachment #8634240 - Flags: review?(gps)
https://reviewboard.mozilla.org/r/13355/#review12041

We already have deployed code using bookmarks for autolanding to try and importing pullrequests. It would be difficult to test my other changes without this in place. Would you be willing to review this as is with the understanding it will be rewritten as part of your Q3 deliverable prior to being deployed in "production"?
Comment on attachment 8634241 [details]
MozReview Request: autoland: support push_bookmark in REST endpoints (bug 1183295) r?mdoglio

https://reviewboard.mozilla.org/r/13357/#review12059

Ship It!
Attachment #8634241 - Flags: review?(mdoglio) → review+
Attachment #8634242 - Flags: review?(mdoglio) → review+
Comment on attachment 8634242 [details]
MozReview Request: autoland: handle unrecognized trees in treestatus (bug 1183295) r?mdoglio

https://reviewboard.mozilla.org/r/13359/#review12061

Ship It!
Comment on attachment 8634243 [details]
MozReview Request: autoland: support longer tree and destination names (bug 1183295) r?mdoglio

https://reviewboard.mozilla.org/r/13361/#review12063

Ship It!
Attachment #8634243 - Flags: review?(mdoglio) → review+
Comment on attachment 8634244 [details]
MozReview Request: autoland: test non-Try destinations (bug 1183295) r?mdoglio

https://reviewboard.mozilla.org/r/13363/#review12121

Ship It!
Attachment #8634244 - Flags: review?(mdoglio) → review+
Comment on attachment 8634245 [details]
MozReview Request: mozreview: rename autoland try tree in mozreview extension (bug 1183295) r?mdoglio

https://reviewboard.mozilla.org/r/13365/#review12123

Ship It!
Attachment #8634245 - Flags: review?(mdoglio) → review+
Comment on attachment 8634240 [details]
MozReview Request: autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

At the moment, the Autoland code assumes the destination is Try. This patch
makes the 'try syntax' optional and adds support for pushing using a bookmark,
as well as removing gecko specific naming conventions.
Attachment #8634240 - Flags: review?(gps)
Comment on attachment 8634240 [details]
MozReview Request: autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

At the moment, the Autoland code assumes the destination is Try. This patch
makes the 'try syntax' optional and adds support for pushing using a bookmark,
as well as removing gecko specific naming conventions.
Attachment #8634240 - Flags: review?(mdoglio)
Comment on attachment 8634240 [details]
MozReview Request: autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

At the moment, the Autoland code assumes the destination is Try. This patch
makes the 'try syntax' optional and adds support for pushing using a bookmark,
as well as removing gecko specific naming conventions.
Attachment #8634240 - Flags: review?(mdoglio)
Attachment #8634240 - Flags: review?(gps) → review+
Comment on attachment 8634240 [details]
MozReview Request: autoland: support transplanting to non-Try destinations (bug 1183295) r?gps

https://reviewboard.mozilla.org/r/13355/#review12347

I'll grant review on this because you said you want this to land to unblock other Autoland efforts. But the use of "upstream" is not correct and isn't suitable for production use. But since we don't have anything using this yet, I think no harm can come of it.

::: autoland/autoland/transplant.py:41
(Diff revision 1)
> -    cmds = [['hg', 'update', '--clean', 'central'],
> +    cmds = [['hg', 'update', '--clean', 'upstream'],

"upstream" may not always be a valid symbol. You create it for the test repo. But Mercurial doesn't automatically keep track of remote refs unless you have an extension enabled. And the extension that does provide that probably isn't stable enough to use yet. Although it might be.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Product: Tree Management → MozReview
Product: MozReview → Conduit
You need to log in before you can comment on or make changes to this bug.