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.

90repos scanned
86no job timeout
76no concurrency guard
6always-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. 6 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
microsoft/playwright500+13.5k5,97625%34
python/mypy4325,7321,2764%8
fastify/fastify500+5,1451,0614%34
gohugoio/hugo3488,15898920%13
sharkdp/bat2572,25883528%11
eslint/eslint500+2,24082610%31
prisma/prisma500+3,0068118%19
mui/material-ui500+6,3897607%27
sveltejs/kit500+2,5166178%7
google/gson500+5,3524568%22
numpy/numpy500+5,1534512%53
colinhacks/zod500+1,18040830%13
actix/actix-web4163,79037813%15
sqlalchemy/sqlalchemy1283,71236820%6
BurntSushi/ripgrep10588935222%9
biomejs/biome500+2,0733415%27
junegunn/fzf3617983031%20
rust-lang/rust-analyzer500+3,1012495%19
pydantic/pydantic500+2,69824515%21
trpc/trpc500+1,11722431%20
aio-libs/aiohttp500+4,0382116%17
vercel/next.js500+1,4121622%23
sharkdp/fd6646215247%8
TanStack/router500+2,7821473%19
serde-rs/serde433411362%7
honojs/hono500+3681341%18
pola-rs/polars500+9,6781345%29
rails/rails500+1,0531131%17
oven-sh/bun500+6321112%18
Homebrew/brew500+2,4911022%27
react-hook-form/react-hook-form500+67510219%22
preactjs/preact4871,0311028%5
labstack/echo1131,0121010%7
huggingface/transformers500+2,271957%35
drizzle-team/drizzle-orm2548139422%9
fastapi/fastapi500+1,001887%21
psf/black500+1,185835%35
remix-run/remix500+1,624839%20
vitejs/vite500+9878210%19
cli/cli500+921790%21
pallets/flask973247956%10
vuejs/core500+442763%16
tailwindlabs/tailwindcss2291,559766%12
jestjs/jest500+4,2416911%16
rollup/rollup4483,7526814%13
axios/axios500+330592%16
caddyserver/caddy500+715582%21
gin-gonic/gin3315925523%16
vercel/turbo500+1,3585318%16
pmndrs/jotai234530512%19
reduxjs/redux84203472%11
astral-sh/ruff500+2,393433%15
psf/requests1401354222%17
nestjs/nest500+717405%5
withastro/astro500+9,901403%30
TanStack/table500+2,638384%12
python-poetry/poetry143528354%10
expressjs/express132152345%14
vitest-dev/vitest500+8963111%13
square/okhttp500+2,7582929%9
sveltejs/svelte500+409286%8
nuxt/nuxt500+1,0622711%30
charmbracelet/bubbletea1691432611%14
pocketbase/pocketbase57258260%3
alacritty/alacritty19732232%3
square/retrofit20721815%5
vercel/swr112127121%11
go-gorm/gorm500+132101%8
solidjs/solid3221,277926%4
denoland/deno500+17.6k819%14
scikit-learn/scikit-learn500+62677%27
prettier/prettier500+1,63566%18
storybookjs/storybook500+15250%22
calcom/cal.com500+6150%20
date-fns/date-fns1851850%20
google/guava500+4,04841%7
fastlane/fastlane3421,28046%18
TanStack/query500+58332%9
clap-rs/clap43960229%19
spf13/cobra942420%7
pytest-dev/pytest500+8,59419%6
django/django500+55013%14
tokio-rs/tokio500+6,54603%15
scrapy/scrapy500+7,77101%13
pandas-dev/pandas500+5,79603%23
pmndrs/zustand101119029%7
spf13/viper35600%4
jekyll/jekyll3586034%4
sidekiq/sidekiq342100%3
sindresorhus/got1200%clean

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