This repository has been archived by the owner on Nov 22, 2022. It is now read-only.
feat(ci retry): retry multiple jobs or entire pipeline #1011
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Before this PR,
glab ci retry <jobid>
would retry exactly one job, specified by job id.With this PR
glab ci retry
will retry the latest pipeline on the current branch, if it finds jobs have failed.Also,
glab ci retry --follow
will continue to monitor pipelines on the current branch. If jobs fail, it will trigger a pipeline retry. It will do this until interrupted.There are some baked-in values which ideally would be configurable. For example, it retries any one pipeline up to 3 times (then gives up). And, it polls for new pipelines every 30 minutes.
How Has This Been Tested?
My motivation is to provide a "band-aid" for code which has a number of flaky tests. They cause pipelines to fail, but often a retry will work. Because it may take some time to address the underlying flaky tests, this is a workaround that should help more pipelines fail.
So, I've tested this a little bit in the scope of that project.
Types of changes