What popular repos' CI looks like

Real 30-day GitHub Actions scorecards for well-known open-source projects. Almost none have a fully clean config, and the gaps are the same handful everywhere. Sort the list, open any scorecard, then scan your own.

91repos scanned
85no job timeout
78no concurrency guard
5always-failing workflow
1fully clean

The most common thing we find: a workflow that's been red for months. Usually a scheduled job nobody watches. It's rarely a code problem, and even careful projects miss it. 5 of the repos here have one. See which, and how to find yours →

Fleet-wide CI benchmarks: what a normal failure rate and run time look like →

RepoRuns (30d)CI min (30d)Recoverable min/moFailure rateFindings
axios/axios1,39217.4k*5,21410%15
microsoft/playwright2,5009,227*4,61431%35
gohugoio/hugo500+16.7k2,66516%12
prisma/prisma500+8,7732,2939%18
reduxjs/redux3915,3072,28213%13
caddyserver/caddy2,12521.1k*2,09613%19
expressjs/express1948,7841,98528%14
sharkdp/bat4085,0051,92415%11
python/mypy1,0487,294*1,5924%8
honojs/hono61130.0k*99425%13
sqlalchemy/sqlalchemy16710.7k97817%11
fastify/fastify1,5154,570*9604%31
drizzle-team/drizzle-orm4497,94379418%7
eslint/eslint1,1852,134*7883%31
numpy/numpy500+6,3497779%45
denoland/deno82517.2k*66621%15
charmbracelet/bubbletea1992,28957011%14
colinhacks/zod500+2,4125556%13
sveltejs/kit2,5002,220*48213%7
sharkdp/fd10094836512%8
biomejs/biome2,5001,692*3378%33
psf/black1,5075,859*33610%27
vuejs/core2,5003,722*3206%12
pola-rs/polars500+6,0153143%30
nestjs/nest1,5452,838*2632%5
vitest-dev/vitest500+85023112%19
BurntSushi/ripgrep575522217%9
TanStack/router500+11.4k2107%17
pydantic/pydantic1,4102,310*18413%21
rust-lang/rust-analyzer500+2,1241834%20
sveltejs/svelte1,3211,974*1812%8
Homebrew/brew500+3,2431766%40
mui/material-ui2,5001,669*1673%22
labstack/echo791,46514710%7
rails/rails500+1,0781321%17
TanStack/table1323,86212617%10
vitejs/vite500+7141117%16
google/gson3971,0551002%21
cli/cli500+1,062941%23
junegunn/fzf140336930%13
oven-sh/bun500+776915%16
react-hook-form/react-hook-form500+595782%21
square/retrofit361957767%6
gin-gonic/gin3467667115%16
solidjs/solid500+3,106684%4
python-poetry/poetry3401,782659%14
preactjs/preact358569573%5
remix-run/remix2,500965*552%23
actix/actix-web1,1654,878*524%14
withastro/astro500+1,2634811%30
fastapi/fastapi1,991513*4712%22
calcom/cal.com2,50090*385%30
astral-sh/ruff2,5002,015*375%13
serde-rs/serde3494373%7
jestjs/jest1,6132,346*366%23
rollup/rollup5638,484*338%14
TanStack/query2,5001,554*307%9
trpc/trpc500+1,1773017%20
alacritty/alacritty171013012%3
huggingface/transformers500+704292%29
sindresorhus/got21562843%4
aio-libs/aiohttp2,5001,355*2511%18
date-fns/date-fns15559226%20
pocketbase/pocketbase51222222%3
tailwindlabs/tailwindcss1626,1932014%12
vercel/turbo2,5001,568*1915%11
nuxt/nuxt500+1,201183%35
scikit-learn/scikit-learn500+703132%23
psf/requests10076132%13
go-gorm/gorm2,500126*110%8
scrapy/scrapy2,0757,264*85%10
square/okhttp2391,552844%6
vercel/next.js500+2,32871%22
django/django2,500441*65%13
vercel/swr857060%9
google/guava500+5,37253%7
storybookjs/storybook500+10550%27
fastlane/fastlane500+2,81121%22
prettier/prettier2,5002,575*18%14
pandas-dev/pandas2,5004,635*13%22
pytest-dev/pytest53018.7k*119%6
tokio-rs/tokio500+6,73605%15
clap-rs/clap341431026%13
pmndrs/zustand11711607%7
pmndrs/jotai6991010%7
pallets/flask5620014%8
jekyll/jekyll52158023%7
spf13/viper513408%9
spf13/cobra381400%4
sidekiq/sidekiq352,692031%3
encode/httpx110100%clean

* CI min, recoverable min and failure rate cover only the latest 500 runs of a repo with more in 30 days.

Public data from each repo's GitHub Actions. Minutes are wall-clock workflow time over 30 days. These repos run Actions free (public repos always do). Each scorecard shows the private-repo dollar equivalent as a labeled estimate. Repo owners can remove their scorecard any time.

Now scan your own repo, free

Any public repo, in seconds. No install, no card.

Scan a repo