About re-running workflows and jobs
Re-running a workflow or jobs in a workflow uses the same GITHUB_SHA
(commit SHA) and GITHUB_REF
(Git ref) of the original event that triggered the workflow run. You can re-run a workflow or jobs in a workflow for up to 30 days after the initial run. You cannot re-run jobs in a workflow once its logs have passed their retention limits. For more information, see "Usage limits, billing, and administration." When you re-run a workflow or jobs in a workflow, you can enable debug logging for the re-run. This will enable runner diagnostic logging and step debug logging for the re-run. For more information about debug logging, see "Enabling debug logging."
Re-running all the jobs in a workflow
-
在 GitHub.com 上,导航到仓库的主页面。
-
在仓库名称下,单击 Actions(操作)。
-
在左侧边栏中,单击您想要查看的工作流程。
-
从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。
-
In the upper-right corner of the workflow, use the Re-run jobs drop-down menu, and select Re-run all jobs.
If no jobs failed, you will not see the Re-run jobs drop-down menu. Instead, click Re-run all jobs.
- Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
要了解有关 GitHub CLI 的更多信息,请参阅“关于 GitHub CLI”。
To re-run a failed workflow run, use the run rerun
subcommand. Replace run-id
with the ID of the failed run that you want to re-run. If you don't specify a run-id
, GitHub CLI returns an interactive menu for you to choose a recent failed run.
gh run rerun run-id
To enable enable runner diagnostic logging and step debug logging for the re-run, use the --debug
flag.
gh run rerun run-id --debug
To view the progress of the workflow run, use the run watch
subcommand and select the run from the interactive list.
gh run watch
Re-running failed jobs in a workflow
If any jobs in a workflow run failed, you can re-run just the jobs that failed. When you re-run failed jobs in a workflow, a new workflow run will start for all failed jobs and their dependents. Any outputs for any successful jobs in the previous workflow run will be used for the re-run. Any artifacts that were created in the initial run will be available in the re-run. Any environment protection rules that passed in the previous run will automatically pass in the re-run.
-
在 GitHub.com 上,导航到仓库的主页面。
-
在仓库名称下,单击 Actions(操作)。
-
在左侧边栏中,单击您想要查看的工作流程。
-
从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。
-
In the upper-right corner of the workflow, use the Re-run jobs drop-down menu, and select Re-run failed jobs.
-
Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
To re-run failed jobs in a workflow run, use the run rerun
subcommand with the --failed
flag. Replace run-id
with the ID of the run for which you want to re-run failed jobs. If you don't specify a run-id
, GitHub CLI returns an interactive menu for you to choose a recent failed run.
gh run rerun run-id --failed
To enable enable runner diagnostic logging and step debug logging for the re-run, use the --debug
flag.
gh run rerun run-id --failed --debug
Re-running a specific job in a workflow
When you re-run a specific job in a workflow, a new workflow run will start for the job and any dependents. Any outputs for any other jobs in the previous workflow run will be used for the re-run. Any artifacts that were created in the initial run will be available in the re-run. Any environment protection rules that passed in the previous run will automatically pass in the re-run.
-
在 GitHub.com 上,导航到仓库的主页面。
-
在仓库名称下,单击 Actions(操作)。
-
在左侧边栏中,单击您想要查看的工作流程。
-
从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。
-
Next to the job that you want to re-run, click .
Alternatively, click on a job to view the log. In the log, click .
-
Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
To re-run a specific job in a workflow run, use the run rerun
subcommand with the --job
flag. Replace job-id
with the ID of the job that you want to re-run.
gh run rerun --job job-id
To enable enable runner diagnostic logging and step debug logging for the re-run, use the --debug
flag.
gh run rerun --job job-id --debug
Re-running workflows and jobs with reusable workflows
Reusable workflows from public repositories can be referenced using a SHA, a release tag, or a branch name. For more information, see "Calling a reusable workflow".
When you re-run a workflow that uses a reusable workflow and the reference is not a SHA, there are some behaviors to be aware of:
- Re-running all jobs in a workflow will use the reusable workflow from the specified reference. For more information about re-running all jobs in a workflow, see "Re-running all the jobs in a workflow".
- Re-running failed jobs or a specific job in a workflow will use the reusable workflow from the same commit SHA of the first attempt. For more information about re-running failed jobs in a workflow, see "Re-running failed jobs in a workflow". For more information about re-running a specific job in a workflow, see "Re-running a specific job in a workflow".
Reviewing previous workflow runs
You can view the results from your previous attempts at running a workflow. You can also view previous workflow runs using the API. For more information, see "Get a workflow run".
-
在 GitHub.com 上,导航到仓库的主页面。
-
在仓库名称下,单击 Actions(操作)。
-
在左侧边栏中,单击您想要查看的工作流程。
-
从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。
-
Any previous run attempts are shown in the Latest drop-down menu.
-
Click an entry to view its results.