Fix bugs in rerunning jobs (#29955) #29983
Merged
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
needs
will be set toblocked
instead 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 toblocked
to wait the job.Show warning if every job has
needs
If every job in a workflow has
needs
, all jobs will be blocked and no job can be run. So I add a warning message.