Skip to content

Add ability to re-run PR checks for intermittant network issues #4950

@jwhitlock

Description

@jwhitlock

On a test run for PR #4948, the db-library test failed:

https://community-tc.services.mozilla.com/tasks/EfEaT4CZSAGk_wLAeneZUw

info There appears to be trouble with your network connection. Retrying...
error An unexpected error occurred: "https://registry.yarnpkg.com/googleapis/-/googleapis-73.0.0.tgz: unexpected end of file".
info If you think this is a bug, please open a bug report with the information provided in "/taskcluster/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

This appears to be an intermittent network failure. Downloading the file worked locally, and this test passed on other recent PRs.

Taskcluster has several features that would appear to address retrying tasks, but they do not work.

There is a "Re-run" link next to the failed task in GitHub. Clicking this displays the message "You have successfully requested db-library be re-run". It does not appear to run a test in Taskcluster.

github rerun

When viewing the failed task in Taskcluster, the action menu has a "Rerun" action and a "Retrigger (disabled)" action:
tc task actions

This displays a re-run page with a message:

Rerun a task.
This only works on failed or exception tasks in the original taskgraph, and is CoT friendly.
This action triggers hook project-taskcluster/in-tree-action-1-generic/f62bbc6185.

with a Action {} and a Schema:

properties: {}
type: object

Clicking "RERUN" with these defaults results in an error:

Action is misconfigured: decision task's scopes do not satisfy in-tree:hook-action:project-taskcluster/in-tree-action-1-generic/f62bbc6185

tc task rerun failure

Ideally:

  • Tasks that are known to fail due to intermittent network issues would retry, perhaps as part of the original task definition
  • The "Re-run" button in GitHub would work
  • The "Rerun" action in Taskcluster would work

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions