Fix bugs in rerunning jobs (#29955) #29983
Merged
+117
−6
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.
Backport #29955 by @Zettat123
Fix #28761
Fix #27884
Fix #28093
Changes
Rerun all jobs
When rerun all jobs, status of the jobs with
needswill be set toblockedinstead ofwaiting. Therefore, these jobs will not run until the required jobs are completed.Rerun a single job
When a single job is rerun, its dependents should also be rerun, just like GitHub does (#28761 (comment)). In this case, only the specified job will be set to
waiting, its dependents will be set toblockedto wait the job.Show warning if every job has
needsIf every job in a workflow has
needs, all jobs will be blocked and no job can be run. So I add a warning message.