title | shortTitle | intro | permissions | redirect_from | versions | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Re-running workflows and jobs |
Re-run 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. |
|
|
{% data reusables.actions.enterprise-github-hosted-runners %}
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. The workflow will use the privileges of the actor who initially triggered the workflow, not the privileges of the actor who initiated the re-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 AUTOTITLE. 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 AUTOTITLE
{% webui %}
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %}
-
In the upper-right corner of the workflow, re-run jobs.
-
If any jobs failed, select the {% octicon "sync" aria-hidden="true" %} Re-run jobs dropdown menu and click Re-run all jobs.
-
If no jobs failed, click Re-run all jobs.
-
{% data reusables.actions.enable-debug-logging %}
{% endwebui %}
{% cli %}
{% data reusables.cli.cli-learn-more %}
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
, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a recent failed run.
gh run rerun RUN_ID
{% data reusables.actions.enable-debug-logging-cli %}
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
{% endcli %}
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 deployment protection rules that passed in the previous run will automatically pass in the re-run.
{% webui %}
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %}
- In the upper-right corner of the workflow, select the {% octicon "sync" aria-hidden="true" %} Re-run jobs dropdown menu, and click Re-run failed jobs. {% data reusables.actions.enable-debug-logging %}
{% endwebui %}
{% cli %}
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
, {% data variables.product.prodname_cli %} returns an interactive menu for you to choose a recent failed run.
gh run rerun RUN_ID --failed
{% data reusables.actions.enable-debug-logging-cli %}
gh run rerun RUN_ID --failed --debug
{% endcli %}
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 deployment protection rules that passed in the previous run will automatically pass in the re-run.
{% webui %}
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %}
- Under the "Jobs" section of the left sidebar, next to the job that you want to re-run, click {% octicon "sync" aria-label="The re-run icon" %}.
{% data reusables.actions.enable-debug-logging %}
{% endwebui %}
{% cli %}
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
{% data reusables.actions.enable-debug-logging-cli %}
gh run rerun --job JOB_ID --debug
{% endcli %}
{% data reusables.actions.partial-reruns-with-reusable %}
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 AUTOTITLE.
{% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.actions-tab %} {% data reusables.repositories.navigate-to-workflow %} {% data reusables.repositories.view-run %}
- To the right of the run name, select the Latest dropdown menu and click a previous run attempt.