The selected Datadog site () is not supported.

Overview

GitHub Actions is an automation tool that allows you to build, test, and deploy your code in GitHub. Create workflows that automate every step of your development process, streamlining software updates and enhancing code quality with CI/CD features integrated into your repositories.

Set up tracing in GitHub Actions to track the execution of your workflows, identify performance bottlenecks, troubleshoot operational issues, and optimize your deployment processes.

Compatibility

Pipeline VisibilityPlatformDefinition
Running pipelinesRunning pipelinesView pipeline executions that are running.
Partial retriesPartial pipelinesView partially retried pipeline executions.
Logs correlationLogs correlationCorrelate pipeline and job spans to logs and enable job log collection.
Infrastructure metric correlationInfrastructure metric correlationCorrelate jobs to infrastructure host metrics for GitHub jobs.
Custom tags and measures at runtimeCustom tags and measures at runtimeConfigure custom tags and measures at runtime.
Queue timeQueue timeView the amount of time pipeline jobs sit in the queue before processing.
Approval wait timeApproval wait timeView the amount of time workflow runs and workflow jobs wait for manual approvals.

The following GitHub versions are supported:

  • GitHub.com (SaaS)
  • GitHub Enterprise Server (GHES) 3.5.0 or later

Configure the Datadog integration

Configure a GitHub App

The GitHub Actions integration uses a private GitHub App to collect workflow information. If you already have an app, you can skip to the next section.

  1. Go to the GitHub integration tile.
  2. Click Link GitHub Account.
  3. Follow the instructions to configure the integration for a personal or organization account.
  4. In Edit Permissions, grant Actions: Read access.
  5. Click Create App in GitHub to finish the app creation process GitHub.
  6. Give the app a name, for example, Datadog CI Visibility.
  7. Click Install GitHub App and follow the instructions on GitHub.

Configure tracing for GitHub Actions

After the GitHub App is created and installed, enable CI Visibility on the accounts and/or repositories you want visibility into.

  1. Go to the Getting Started page and click on GitHub.
  2. Click on Enable Account for the account you want to enable.
  3. Enable CI Visibility for the whole account by clicking Enable CI Visibility.
  4. Alternatively, you can enable individual repositories by scrolling through the repository list and clicking the Enable CI Visibility toggle.

Pipelines appear immediately after enabling CI Visibility for any account or repository.

Enable log collection

The GitHub Actions CI Visibility integration also allows automatically forwarding workflow job logs to Datadog Log Management.

To enable logs, follow these steps:

  1. Go to the CI Visibility settings page.
  2. Click on any account that is enabled or has enabled repositories.
  3. Click Enable Job Logs Collection to enable logs for the whole account.
  4. Alternatively, you can enable individual repositories by scrolling through the repository list and clicking the Enable Job Logs Collection toggle.

Immediately after toggling logs collection, workflow job logs are forwarded to Datadog Logs. Note that logs are billed separately from CI Visibility. Log retention, exclusion, and indexes are configured in Logs Settings.

Log files larger than 1GiB are truncated.

Correlate infrastructure metrics to jobs

If you are using self-hosted GitHub runners, you can correlate jobs to the host that is running them. To do this, make sure the GitHub runner name matches the hostname of the machine it is running on. CI Visibility uses this to link to infrastructure metrics. To see the metrics, click on a job span in the trace view and in the window a new tab named Infrastructure is shown which contains the host metrics.

Visualize pipeline data in Datadog

The CI Pipeline List and Executions pages populate with data after the pipelines finish.

The CI Pipeline List page shows data for only the default branch of each repository.

Disable GitHub Actions tracing

To disable the CI Visibility GitHub Actions integration, make sure the GitHub app is no longer subscribed to the workflow job and workflow run events. To remove the events:

  1. Go to the GitHub Apps page.
  2. Click Edit > Permission & events on the relevant Datadog GitHub App (if you have multiple apps, you will have to repeat the process for each).
  3. Scroll to the Subscribe to events section, and make sure that Workflow job and Workflow run are not selected.

Further reading