Closed Bug 1391417 Opened 7 years ago Closed 7 years ago

update retrigger to be like the rest of the actions

Categories

(Taskcluster :: Services, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla57

People

(Reporter: bstack, Assigned: bstack)

References

Details

Attachments

(1 file)

      No description provided.
Attachment #8898542 - Flags: review?(dustin)
Comment on attachment 8898542 [details]
Bug 1391417 - Make retrigger act like it does in mozilla-taskcluster

https://reviewboard.mozilla.org/r/169900/#review175506

::: taskcluster/taskgraph/actions/retrigger.py:9
(Diff revision 1)
>  # License, v. 2.0. If a copy of the MPL was not distributed with this
>  # file, You can obtain one at http://mozilla.org/MPL/2.0/.
>  
>  from __future__ import absolute_import, print_function, unicode_literals
>  
> -from .registry import register_task_action
> +from .util import (create_tasks, find_decision_task)

nit, add newlines

```
from .util import (
    ..
)
```

::: taskcluster/taskgraph/actions/retrigger.py:51
(Diff revision 1)
> +    label = task['metadata']['name']
> +    to_run = [label]
> +
> +    if input.get('downstream'):
> +        to_run = full_task_graph.graph.transitive_closure(set(to_run), reverse=True).nodes
> +        to_run = to_run & set(target_tasks)

I'm a bit confused about this.  `target_tasks` is the set of targetted labels, but *without* its transitive closure.  So this intersection may remove tasks that need to be re-run.  I think the idea here is to limit the re-running to tasks that were actually created in the first place?  Probably the easiest way to do that it is to intersect with `label_to_taskid`, which contains only labels that were created in the original decision task.  More formally, you'd want to intersect `to_run` with the labels in hte optimized task graph, but I think `label_to_taskid` is close enough.

::: taskcluster/taskgraph/graph.py:62
(Diff revision 1)
> +                  `-------> d
> +
> +        transitive_closure([b]).nodes == set([a, b])
> +        transitive_closure([c]).nodes == set([c, b, a])
> +        transitive_closure([c], reverse=True).nodes == set([c])
> +        transitive_closure([b], reverse=True).nodes == set([c, d])

++ ++
Attachment #8898542 - Flags: review?(dustin) → review-
Comment on attachment 8898542 [details]
Bug 1391417 - Make retrigger act like it does in mozilla-taskcluster

https://reviewboard.mozilla.org/r/169900/#review175540
Attachment #8898542 - Flags: review?(dustin) → review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/16562a4d1424
Make retrigger act like it does in mozilla-taskcluster r=dustin
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/16562a4d1424
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Component: Integration → Services
You need to log in before you can comment on or make changes to this bug.