Only run failed tasks on backout
Categories
(Firefox Build System :: Task Configuration, enhancement, P3)
Tracking
(Not tracked)
People
(Reporter: ahal, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [ci-costs-2020:todo])
Attachments
(1 file, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details |
Backouts should be treated specially to only run the tasks that failed on the initial push (and possibly on pushes in-between the failed one and the backout).
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Comment 2•5 years ago
|
||
Depends on D74407
Reporter | ||
Comment 3•5 years ago
|
||
I got nerd sniped by this problem and had to see if it would be terribly difficult to figure out which tasks failed on a previous push. Turns out it's not very. Now that I've satisfied my curiosity, I'm not going to have time to finish this bug up for awhile. So if anyone wants to take this and run with it please feel free!
Remaining work:
- Figure out how to propagate the "backedoutrev" into the taskgraph, and use the existence of that value to replace appropriate optimizers with the one implemented here.
- Ensure rev is the full 40 character hash (this value usually comes from sheriff annotations, so this may require an HGMO query)
- Inspect all pushes in between the backout and the regression (I'd consider this follow-up fodder)
Reporter | ||
Comment 4•5 years ago
|
||
Oh, and:
- Above patches are completely untested..
Updated•5 years ago
|
Updated•5 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 6•4 years ago
|
||
I put these patches up as a PoC, hoping someone else can run with this in the mean time.
Comment 7•4 years ago
|
||
Please verify the "every 10th push gets all tasks" still applies.
Updated•4 years ago
|
Comment 8•4 years ago
|
||
Comment on attachment 9146781 [details]
Bug 1636440 - [taskgraph] Make 'list_task_group_incomplete_tasks' more general purpose
Revision D74407 was moved to bug 1636271. Setting attachment 9146781 [details] to obsolete.
Reporter | ||
Updated•4 years ago
|
Comment 9•4 years ago
|
||
(In reply to Andrew Halberstadt [:ahal] from bug 1670002 comment #1)
Definitely a legit bug, but I'm curious to know why you'd want to run the full set of tasks on backouts? My intuition was that backouts should only run the things that were broken so that you can verify they got fixed.
- When a backout gets pushed, 1+ issue is known but not necessarily everything which fails due to the backed out changes.
- All missing jobs get manually triggered to verify a push is good for merging. Running only the failed tasks misses the unscheduled tasks with unknown results.
- If tasks are omitted because they were successful in previous pushes, an overview which task ran when and which pushes have what coverage from their own or later builds and tests is missing. Armen was looking into this - I don't find a bug for it.
Updated•1 years ago
|
Description
•