Skip to main content

Re-running workflows and jobs

You can re-run a workflow run, all failed jobs in a workflow run, or specific jobs in a workflow run up to 30 days after its initial run.

People with write permissions to a repository can re-run workflows in the repository.

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

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Actions(操作)主仓库导航中的操作选项卡

  3. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流程列表

  4. 从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。

    工作流程运行的名称

  5. 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. Rerun checks drop-down menu

  1. Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging. 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.

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Actions(操作)主仓库导航中的操作选项卡

  3. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流程列表

  4. 从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。

    工作流程运行的名称

  5. In the upper-right corner of the workflow, use the Re-run jobs drop-down menu, and select Re-run failed jobs. Re-run failed jobs drop-down menu

  6. Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging. 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.

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Actions(操作)主仓库导航中的操作选项卡

  3. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流程列表

  4. 从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。

    工作流程运行的名称

  5. Next to the job that you want to re-run, click . Re-run selected job

    Alternatively, click on a job to view the log. In the log, click . Re-run selected job

  6. Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging. 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:

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".

  1. 在 GitHub.com 上,导航到仓库的主页面。

  2. 在仓库名称下,单击 Actions(操作)主仓库导航中的操作选项卡

  3. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流程列表

  4. 从工作流程运行列表中,单击运行的名称以查看工作流程运行摘要。

    工作流程运行的名称

  5. Any previous run attempts are shown in the Latest drop-down menu. Previous run attempts

  6. Click an entry to view its results.