padenot / padenot/treeherder-cli

Add support for retriggering failed jobs

Open
#10 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1
Forks
2
Avg merge
1d 14h
Merged PRs (30d)
2

Description

It would be useful to retrigger failed jobs directly from treeherder-cli after inspecting a push.

For example:

treeherder-cli <revision> --retrigger-failures

Ideally this would retrigger only the failed jobs on the existing push, with an optional count for running them more than once. It should print the action task ID and confirm how many jobs were selected.

The underlying flow appears to be:

  1. Resolve the push's decision task and failed Taskcluster task IDs.
  2. Fetch public/actions.json and public/label-to-taskid.json from the decision task.
  3. Map failed tasks back to labels.
  4. Authenticate with Taskcluster for the hook scope.
  5. Trigger the in-tree retrigger-multiple action.

This came up after using the CLI to inspect a Try push with 18 unrelated failures. The analysis worked well, but completing the natural next step required a custom Taskcluster script.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the treeherder-cli command entry point and trace how it resolves a revision and inspects failed jobs. Use the decision task's public/actions.json and public/label-to-taskid.json, then follow the Taskcluster authentication and retrigger-multiple action flow. Done means failed jobs on the existing push can be retriggered with an optional count, while printing the action task ID and selected-job count.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ci-cd, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.