You can use the tools in GitHub Actions to debug your workflows.
Initial troubleshooting suggestionsThere are several ways you can troubleshoot failed workflow runs.
Note
If you are on a GitHub Copilot Free subscription, this will count towards your monthly chat message limit.
Using GitHub CopilotTo open a chat with GitHub Copilot about a failed workflow run, you can either:
This opens a chat window with GitHub Copilot, where it will provide instructions to resolve the issue.
Using workflow run logsEach workflow run generates activity logs that you can view, search, and download. For more information, see Using workflow run logs.
Enabling debug loggingIf the workflow logs do not provide enough detail to diagnose why a workflow, job, or step is not working as expected, you can enable additional debug logging. For more information, see Enabling debug logging.
If your workflow uses specific tools or actions, enabling their debug or verbose logging options can help generate more detailed output for troubleshooting. For example, you can use npm install --verbose
for npm or GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...
for git.
Actions usage includes runner minutes and storage for workflow artifacts. For more information, see GitHub Actions billing.
Setting a budgetSetting an Actions budget may help immediately unblock workflows failing due to billing or storage errors. It will allow further minutes and storage usage to be billed up to the set budget amount. To learn more, see Setting up budgets to control spending on metered products.
Reviewing GitHub Actions activity with metricsTo analyze the efficiency and reliability of your workflows using metrics, see Viewing GitHub Actions metrics.
Troubleshooting workflow triggersYou can review your workflow's on:
field to understand what is expected to trigger the workflow. For more information, see Triggering a workflow.
For a full list of available events, see Events that trigger workflows.
Triggering event conditionsSome triggering events only run from the default branch (i.e. issues
, schedule
). Workflow file versions that exist outside of the default branch will not trigger on these events.
Workflows will not run on pull_request
activity if the pull request has a merge conflict.
Workflows that would otherwise be triggered on push
or pull_request
activity will be skipped if the commit message contains a skip annotation. For more information, see Skipping workflow runs.
Scheduled events can be delayed during periods of high loads of GitHub Actions workflow runs.
High load times include the start of every hour. If the load is sufficiently high enough, some queued jobs may be dropped. To decrease the chance of delay, schedule your workflow to run at a different time of the hour. For more information, see Events that trigger workflows.
Filtering and diff limitsSpecific events allow for filtering by branch, tag, and/or paths you can customize. Workflow run creation will be skipped if the filter conditions apply to filter out the workflow.
You can use special characters with filters. For more information, see Workflow syntax for GitHub Actions.
For path filtering, evaluating diffs is limited to the first 300 files. If there are files changed that are not matched in the first 300 files returned by the filter, the workflow will not be run. For more information, see Workflow syntax for GitHub Actions.
Troubleshoot workflow executionWorkflow execution involves any issues seen after the workflow was triggered and a workflow run has been created.
Canceling WorkflowsIf standard cancellation through the UI or API does not process as expected, there may be a conditional statement configured for your running workflow job(s) that causes it to not cancel.
In these cases, you can leverage the API to force cancel the run. For more information, see REST API endpoints for workflow runs.
A common cause can be using the always()
status check function which returns true
, even on cancellation. An alternative is to use the inverse of the cancelled()
function, ${{ !cancelled() }}
.
For more information, see Using conditions to control job execution and Canceling a workflow run.
Troubleshooting runners Defining runner labelsGitHub-hosted runners leverage preset labels maintained through the actions/runner-images
repository.
We recommend using unique label names for larger and self-hosted runners. If a label matches to any of the existing preset labels, there can be runner assignment issues where there is no guarantee on which matching runner option the job will run on.
Self-hosted runnersIf you use self-hosted runners, you can view their activity and diagnose common issues.
For more information, see Monitoring and troubleshooting self-hosted runners.
Networking troubleshooting suggestionsOur support is limited for network issues that involve:
To view GitHub's realtime platform status, check GitHub Status.
For other network-related issues, review your organization's network settings and verify the status of any third-party services you're accessing. If problems persist, consider reaching out to your network administrators for further assistance.
If you're unsure about the issue, contact GitHub Support. For details on how to contact support, see Contacting GitHub Support.
DNSIssues may occur from Domain Name System (DNS) configuration, resolution, or resolver problems. We recommend you review available logs, vendor documentation, or consult with your administrators for additional assistance.
FirewallsActivities may become blocked by firewalls. If this occurs, you may want to review available logs, vendor documentation, or consult with your administrators for additional assistance.
ProxiesActivities could fail when using a proxy for communications. It's good practice to review available logs, vendor documentation, or consult with your administrators for additional assistance.
Refer to Using a proxy server with self-hosted runners for information about configuring the runner application to utilize a proxy.
SubnetsIt is possible to encounter issues with subnets in use or overlaps with an existing network, such as within virtual cloud provider or Docker networks. In such cases, we recommend you review your network topology and subnets in use.
CertificatesIssues may occur from self-signed or custom certificate chains and certificate stores. You can check that a certificate in use has not expired and is currently trusted. Certificates may be inspected with curl
or similar tools. You can also review available logs, vendor documentation, or consult with your administrators for additional assistance.
IP allow or deny lists may disrupt expected communications. If there is a problem, you should review available logs, vendor documentation, or consult with your administrators for additional assistance.
For information on GitHub's IP addresses, such as those used by GitHub-hosted runners, see About GitHub's IP addresses.
Static IP addresses are available for use with GitHub-hosted larger runners. See Managing larger runners for more information.
Operating systems and software applicationsIn addition to firewalls or proxies, customizations performed to GitHub-hosted runners, such as installing additional software packages, may result in communication disruptions. For information about available customization options, see Customizing GitHub-hosted runners.
For self-hosted runners, learn more about necessary endpoints in Self-hosted runners reference.
For help configuring WireGuard, see Using WireGuard to create a network overlay.
For details about configuring OpenID Connect (OIDC), see Using an API gateway with OIDC.
Issues may arise from the use of GitHub-hosted runners within your configured Azure Virtual Networks (VNETs) settings.
For troubleshooting advice, see Troubleshooting Azure private network configurations for GitHub-hosted runners in your organization or Troubleshooting Azure private network configurations for GitHub-hosted runners in your enterprise in the GitHub Enterprise Cloud docs.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4