re-run jobs

Is there a way to re-run individual jobs parts of workflows ? Alternatively is there a way to restart all failed jobs ? Use interface seem to propose only “Re-run all checks” currently

8 Likes

At the moment you are not able to re-run individual jobs or simply restart all failed jobs.  That feature is absolutely on our backlog to add.

9 Likes

This isn’t really a solution. It’s just a promise it will be eventually implemented. (So far, it isn’t).

2 Likes

Restarting whole workflows does not work when the event was generated by external contributor sending pull request.

It has been more than a year now since this “solution”. What is in your backlog is not a solution, it’s a todo.

7 Likes

seems now it is possible

No, it still does not allow re-triggering/running individual jobs.

This feature is absolutely critical when you have many long-running jobs in a workflow.

For example, if you take a look at the following link:

I have to re-trigger all 42 jobs just because a few jobs randomly failed (source code fetch error) and some macOS jobs got randomly cancelled (yes, this inexplicable event happens a lot for some reason).

1 Like

In PyMC3 we use a GitHub action for releasing to PyPI. At the end of the pipeline we test the installation, but sometimes this step fails.

Re-running the entire pipeline is not an option, because re-releasing the same version number is not allowed…

I would like to add that this is absolutely critical. We sometimes have flakes in our workflow. I was in the middle of migrating over from our buildbot CI, when I came across this problem. Looks like we need to stay with buildbot until this is implemented. We have over 30 jobs, some of them running close to an hour.

I think I found a workaround here. I have split my matrix build to multiple yaml files, each one with a different name but the same trigger. Each of them contain only a single run. As it looks, this enables me to re-run jobs individually. I do so by selecting “re-run all jobs”, where “all” is now always exactly one.

The price you need to pay is that you have some code duplication and cannot use the matrix feature. For me, this is acceptable as the CI is actually done by a script and shared code outside of that script is relatively minimal.

It would of course be much better if there would be the ability to re-run individual jobs inside the same yaml file.

2 Likes

@rgerhards Your workaround is working! Thanks a lot!