GitHub CI Status

Display GitHub Actions workflow status and check results.

Show the status of GitHub Actions workflows and commit checks.

GET/github/ci/:owner/:repo.svg

Path Parameters

required
required
![badge](https://shieldcn.dev/github/ci/vercel/next.js.svg)
badge preview

URL formats

Workflow status

/github/ci/{owner}/{repo}.svg
/github/ci/{owner}/{repo}.svg?workflow=ci.yml
/github/ci/{owner}/{repo}.svg?branch=main
/github/ci/{owner}/{repo}.svg?workflow=ci.yml&branch=main

Shows the conclusion of the most recent workflow run. Filter by workflow file or branch using query parameters.

Commit checks

/github/checks/{owner}/{repo}.svg
/github/checks/{owner}/{repo}/{ref}.svg
/github/checks/{owner}/{repo}/{ref}/{check_name}.svg

Shows the combined check status for a commit. Optionally specify a branch/tag ref or individual check name.

Status values

StatusColorDescription
passingGreenAll checks passed
failingRedOne or more checks failed
pendingAmberChecks are still running
cancelledGrayWorkflow was cancelled
skippedGrayWorkflow was skipped

Examples

<!-- Default workflow status -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg)

<!-- Specific workflow -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg?workflow=build_and_deploy.yml)

<!-- Specific branch -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg?branch=canary)

<!-- Combined checks -->
![checks](https://shieldcn.dev/github/checks/nodejs/node.svg)

<!-- Checks for specific branch -->
![checks](https://shieldcn.dev/github/checks/nodejs/node/main.svg)

Styling examples

CI badges automatically show a colored status dot based on the result. You can also use split mode for a two-tone background:

<!-- Status dot (default) -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg)

<!-- Split background -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg?split=true)

<!-- Hide status dot -->
![ci](https://shieldcn.dev/github/ci/vercel/next.js.svg?statusDot=false)

Caching

CI badges are cached for 10 minutes to balance freshness with API rate limits.