We are currently using TravisCI, where doing that is no problem. You can freely restart any job and individual steps.
On GitHub, I can’t seem to find a way to do that at all. Not sure if I’m just too blind to see the button?
Our tests rely on a bunch of external resources, which occasionally are unavailable. So without being able to trigger a re-run of a Workflow, we would be forever stuck with failed tests on a commit that is perfectly fine, but just happened to be made while some server was down.
While it’s not possible to restart any job and individual steps, if a run failed, it’s possible to re-run the workflow. In the upper-right corner of the workflow, you can use the Re-run checks drop-down menu, and select Re-run all checks as noted here:
The lack of that also makes developing custom actions quite annoying, since I have to make a dummy commit in another repository each time I want to test the changes I just did to my action.
I can see where you’re coming from. As a workaround, I too have either pushed an empty commit or a commit with trivial changes. Aside from the
push event, I’ve also used the
repository_dispatch event as a way of triggering a workflow from the command line serving as an “override” if another event fails to trigger the workflow for whatever reason.
On top of that, the ability to manually trigger an entiely new workflow run from the UI would be handy as well. Possibly with a way to pass in custom Environment-Overrides. Some of our Tests are seriously slow, and we don’t want to run those on every commit.
Agreed! I’ve noted this internally for our product team’s consideration, though I can’t make any promises on specific changes. Thanks again for raising these points with us!