Closed Bug 1470622 Opened 6 years ago Closed 6 years ago

Convert actions performed manually by Treeherder to use hook-based actions

Categories

(Tree Management :: Treeherder, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dustin, Assigned: hassan)

References

Details

Attachments

(2 files)

No description provided.
Blocks: 1470625
* retrigger (note that circular-arrow button only uses buildapi??) * create interactive (just opens https://tools.taskcluster.net/tasks/<taskId>/interactive in a new window) * edit & retrigger (just opens task editor) * cancel
Summary: Convert actions performed "manually" by Treeherder to use hook-based actions → Convert actions performed manually by Treeherder to use hook-based actions
(In reply to Dustin J. Mitchell [:dustin] pronoun: he from comment #1) > * retrigger (note that circular-arrow button only uses buildapi??) This action already exists > * create interactive I need to write an action for this > * edit & retrigger We probably won't support this anymore.. > * cancel I need to write an action for this.
Keywords: leave-open
Depends on: 1472776
Depends on: 1472777
OK, Hassan, I think this is ready to go. Basically we want to remove anything that calls any Taskcluster API functions other than triggerHook, replacing it with the appropriate action (or, for edit & retrigger, removing it entirely). The "r" key and the "circular arrow" are sort of hidden, but should use the retrigger action, too.
Assignee: dustin → helfi92
Keywords: leave-open
(this is what I mean by "circular arrow")
Depends on: 1398277
Blocks: 1420482
(In reply to Dustin J. Mitchell [:dustin] pronoun: he from comment #2) > > * create interactive > > I need to write an action for this Bug 1487444. > > * edit & retrigger > > We probably won't support this anymore.. *definitely* won't support this anymore > > * cancel > > I need to write an action for this. This exists -- cancel.
Depends on: 1487444
Comment on attachment 9006342 [details] [review] Link to GitHub pull-request: https://github.com/mozilla/treeherder/pull/3980 Cameron will be a better reviewer for this than I :-)
Attachment #9006342 - Flags: review?(cdawson)
Comment on attachment 9006342 [details] [review] Link to GitHub pull-request: https://github.com/mozilla/treeherder/pull/3980 Just a few things. Please reassign when you've made changes. Thanks!
Attachment #9006342 - Flags: review?(cdawson) → review-
Commit pushed to master at https://github.com/mozilla/treeherder https://github.com/mozilla/treeherder/commit/c8998982cbe8bafb750948f9ce113d8b8e9342ca Bug 1470622 - Convert actions to use hook-based actions (#3980) * Convert pinboard actions to use hook-based actions * Convert action bar actions to use hook-based actions * Make create interactive task use hook-based actions * Convert a second cancel-all to use hook-based actions * Use hook-based actions for creating interactive tasks * Remove angular $timeout, $apply * Abstract away retrigger & cancel functions * Remove thBuildApi entirely * Remove PushModel.cancelAll and use actions json instead * Remove usage of actions.yml ESR52 still uses actions.yml but it is being treated as EOL (Treeherder's buildbot ingestion has just been switched off).
I think this is done, judging by the uptick in number of action tasks being run over the last half-week :)
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Hmm, I was told that this was the bug for not being about to cancel and repeat jobs via TreeHerder. On the C-C Treeherder I tried cancelling jobs today and got errors. I've just tried to repeat a job and got: Taskcluster: While firing hook: InterpreterError at template.payload.env[2]["ACTION_TASK"]: unknown context value task --- * method: triggerHook * errorCode: InputError * statusCode: 400 * time: 2018-09-18T17:21:24.776Z
Filed bug 1492219 for that, sorry about the noise.
Component: Task Configuration → Treeherder: Job Triggering & Cancellation
Product: Firefox Build System → Tree Management
Version: Trunk → ---
Blocks: 1492462
Hi! I noticed that CustomJobActions is still using js-yaml -- is this a leftover from the actions.yml era that could be converted too? ie: https://github.com/mozilla/treeherder/blob/692c35ddb2b239b2ec932b12fa013db9d9f21911/ui/job-view/CustomJobActions.jsx#L70-L139 If so, I'll file a new bug for that.
Flags: needinfo?(helfi92)
Now that we are using taskcluster for the other actions, I wonder if we really do need the custom taskcluster job actions modal anymore. Dustin, would it be safe to remove the "Custom Action..." button?
Flags: needinfo?(helfi92) → needinfo?(dustin)
That is definitely still needed, for cases where people want to run actions that aren't hard-wired to some button in treeherder. It uses YAML for display, even though the actions.json it's parsing is in JSON. So it's not the old actions.yml stuff.
Flags: needinfo?(dustin)
Ok thank you. Perhaps once I've upgraded us to webpack 4 (via Neutrino 9), we can use code-splitting to reduce the impact of the feature on bundle size (js-yaml and ajv are very heavyweight: https://bundlephobia.com/result?p=js-yaml@3.12.0 and https://bundlephobia.com/result?p=ajv@6.5.3).
:emorley, I just tried a cancel all and got dozens of cx action tasks and so slow that hundreds of jobs started running: https://treeherder.mozilla.org/#/jobs?repo=try&revision=d2cf9384353062ec3c4f702e806dd571de15785a this bug has a r- but is marked as fixed, I am not sure if we resolved this?
Flags: needinfo?(emorley)
Hi! The PR linked to this bug was merged ('merged' status in GitHub; commit link in comment 9) - but the review flag wasn't updated here after the final review on GitHub (our code reviews happen primarily on GitHub - if it wasn't for the handy Bugzilla reminder emails etc, we'd drop the Bugzilla review flag setting entirely). I'll update the flag now to avoid future confusion :-) Regarding the behaviour you're seeing - could you file a new bug and mark it blocking this one? I'm not sure whether it would require changes on the taskcluster or treeherder side at this point. By "so slow" do you mean on the UI side making the API calls, or once the cancellation jobs had already been scheduled?
Flags: needinfo?(emorley)
Attachment #9006342 - Flags: review- → review+
Depends on: 1492978
Depends on: 1495147
Depends on: 1502142
Component: Treeherder: Job Triggering & Cancellation → TreeHerder
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: