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. 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 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
-
On GitHub, navigate to the main page of the repository.
-
Under your repository name, click Actions.
-
In the left sidebar, click the workflow you want to see.
-
From the list of workflow runs, click the name of the run to see the workflow run summary.
-
In the upper-right corner of the workflow, re-run jobs.
-
If any jobs failed, select the Re-run jobs dropdown menu and click Re-run all jobs.
-
If no jobs failed, click Re-run all jobs.
-
-
Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
-
Click Re-run jobs.
Note
To learn more about GitHub CLI, see "About 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 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 deployment protection rules that passed in the previous run will automatically pass in the re-run.
-
On GitHub, navigate to the main page of the repository.
-
Under your repository name, click Actions.
-
In the left sidebar, click the workflow you want to see.
-
From the list of workflow runs, click the name of the run to see the workflow run summary.
-
In the upper-right corner of the workflow, select the Re-run jobs dropdown menu, and click Re-run failed jobs.
-
Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
-
Click Re-run jobs.
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 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 deployment protection rules that passed in the previous run will automatically pass in the re-run.
-
On GitHub, navigate to the main page of the repository.
-
Under your repository name, click Actions.
-
In the left sidebar, click the workflow you want to see.
-
From the list of workflow runs, click the name of the run to see the workflow run summary.
-
Under the "Jobs" section of the left sidebar, next to the job that you want to re-run, click .
-
Optionally, to enable runner diagnostic logging and step debug logging for the re-run, select Enable debug logging.
-
Click Re-run jobs.
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 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 Reusing workflows.
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 workflows and jobs.
- 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 workflows and jobs. For more information about re-running a specific job in a workflow, see Re-running workflows and jobs.
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 REST API endpoints for workflow runs.
-
On GitHub, navigate to the main page of the repository.
-
Under your repository name, click Actions.
-
In the left sidebar, click the workflow you want to see.
-
From the list of workflow runs, click the name of the run to see the workflow run summary.
-
To the right of the run name, select the Latest dropdown menu and click a previous run attempt.