This repository was archived by the owner on Nov 22, 2022. It is now read-only.
feat(ci retry): retry multiple jobs or entire pipeline#1011
Open
dncohen wants to merge 3 commits intoprofclems:trunkfrom
Open
feat(ci retry): retry multiple jobs or entire pipeline#1011dncohen wants to merge 3 commits intoprofclems:trunkfrom
dncohen wants to merge 3 commits intoprofclems:trunkfrom
Conversation
Expands retry command to retry recent pipelines, if they have failed jobs. Can monitor for failures and retry repeatedly when new pipelines appear, until interrupted.
Owner
|
Hi @dncohen, thanks a lot for this PR. We announced that this project is officially adopted by GitLab #983 (comment). All new contributions should be mode to the GitLab repo: https://gitlab.com/gitlab-org/cli |
Collaborator
|
This PR has been automatically marked as stale because it has not had recent activity. This message is just a reminder for the author, reviewers and assignees. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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 retrywill retry the latest pipeline on the current branch, if it finds jobs have failed.Also,
glab ci retry --followwill 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