Without a concurrency group, pushing twice to a branch runs both commits to completion instead of cancelling the stale one. It is the single most common gap we see, these popular repos included. Read the fix →
| Repo | Runs (30d) | CI min (30d) | Recoverable min/mo | Failure rate | Findings |
|---|---|---|---|---|---|
| microsoft/playwright | 500+ | 10.1k | 5,051 | 28% | 30 |
| python/mypy | 500+ | 6,797 | 1,483 | 5% | 8 |
| gohugoio/hugo | 376 | 8,654 | 1,047 | 18% | 13 |
| numpy/numpy | 500+ | 8,565 | 877 | 1% | 50 |
| sharkdp/bat | 260 | 2,277 | 843 | 26% | 11 |
| eslint/eslint | 500+ | 2,221 | 814 | 6% | 31 |
| prisma/prisma | 500+ | 3,347 | 801 | 10% | 17 |
| sveltejs/kit | 500+ | 2,253 | 538 | 4% | 6 |
| sqlalchemy/sqlalchemy | 133 | 5,255 | 509 | 20% | 6 |
| biomejs/biome | 500+ | 2,525 | 459 | 4% | 31 |
| google/gson | 500+ | 5,323 | 454 | 8% | 22 |
| actix/actix-web | 384 | 3,679 | 370 | 10% | 15 |
| BurntSushi/ripgrep | 106 | 930 | 369 | 22% | 9 |
| junegunn/fzf | 359 | 798 | 303 | 1% | 20 |
| rust-lang/rust-analyzer | 500+ | 3,020 | 242 | 4% | 20 |
| mui/material-ui | 500+ | 2,230 | 241 | 7% | 26 |
| pydantic/pydantic | 500+ | 2,563 | 225 | 15% | 21 |
| vercel/next.js | 500+ | 1,771 | 209 | 5% | 24 |
| colinhacks/zod | 500+ | 943 | 187 | 0% | 11 |
| serde-rs/serde | 46 | 383 | 153 | 2% | 7 |
| sharkdp/fd | 66 | 456 | 148 | 41% | 8 |
| cli/cli | 500+ | 1,515 | 138 | 5% | 27 |
| honojs/hono | 500+ | 376 | 137 | 1% | 18 |
| pola-rs/polars | 500+ | 5,880 | 136 | 3% | 30 |
| Homebrew/brew | 500+ | 2,939 | 127 | 2% | 35 |
| square/retrofit | 43 | 346 | 121 | 26% | 6 |
| TanStack/router | 500+ | 2,140 | 112 | 5% | 19 |
| preactjs/preact | 453 | 1,012 | 100 | 8% | 5 |
| react-hook-form/react-hook-form | 500+ | 669 | 99 | 19% | 22 |
| charmbracelet/bubbletea | 207 | 429 | 98 | 12% | 18 |
| vuejs/core | 500+ | 542 | 93 | 5% | 16 |
| drizzle-team/drizzle-orm | 251 | 723 | 83 | 20% | 8 |
| fastapi/fastapi | 500+ | 945 | 80 | 9% | 23 |
| oven-sh/bun | 500+ | 1,144 | 80 | 1% | 13 |
| rollup/rollup | 500+ | 4,073 | 73 | 12% | 13 |
| labstack/echo | 87 | 729 | 73 | 0% | 7 |
| rails/rails | 500+ | 740 | 72 | 1% | 15 |
| psf/black | 500+ | 1,132 | 71 | 4% | 34 |
| fastify/fastify | 500+ | 520 | 68 | 2% | 30 |
| caddyserver/caddy | 500+ | 758 | 65 | 2% | 21 |
| huggingface/transformers | 500+ | 2,400 | 64 | 7% | 30 |
| gin-gonic/gin | 371 | 690 | 64 | 23% | 16 |
| axios/axios | 500+ | 308 | 62 | 2% | 16 |
| trpc/trpc | 500+ | 991 | 55 | 25% | 20 |
| vitejs/vite | 500+ | 767 | 55 | 11% | 16 |
| vercel/turbo | 500+ | 1,274 | 53 | 17% | 16 |
| withastro/astro | 500+ | 3,506 | 53 | 2% | 29 |
| reduxjs/redux | 84 | 203 | 47 | 2% | 11 |
| psf/requests | 142 | 137 | 43 | 22% | 17 |
| aio-libs/aiohttp | 500+ | 1,626 | 42 | 9% | 17 |
| nestjs/nest | 500+ | 695 | 41 | 1% | 5 |
| square/okhttp | 500+ | 3,782 | 40 | 30% | 9 |
| sveltejs/svelte | 500+ | 568 | 36 | 7% | 8 |
| TanStack/table | 500+ | 2,677 | 35 | 4% | 12 |
| astral-sh/ruff | 500+ | 2,085 | 30 | 5% | 12 |
| pmndrs/jotai | 151 | 353 | 30 | 3% | 13 |
| pocketbase/pocketbase | 54 | 249 | 25 | 0% | 3 |
| nuxt/nuxt | 500+ | 1,298 | 20 | 5% | 37 |
| scikit-learn/scikit-learn | 500+ | 1,089 | 13 | 3% | 23 |
| go-gorm/gorm | 500+ | 121 | 12 | 0% | 8 |
| vercel/swr | 112 | 124 | 12 | 1% | 11 |
| expressjs/express | 68 | 59 | 11 | 6% | 13 |
| scrapy/scrapy | 500+ | 8,299 | 10 | 3% | 17 |
| calcom/cal.com | 500+ | 56 | 7 | 4% | 29 |
| denoland/deno | 500+ | 19.2k | 6 | 21% | 14 |
| jestjs/jest | 500+ | 2,885 | 6 | 7% | 19 |
| solidjs/solid | 291 | 1,101 | 6 | 30% | 4 |
| date-fns/date-fns | 205 | 18 | 5 | 0% | 20 |
| google/guava | 500+ | 4,038 | 4 | 1% | 7 |
| storybookjs/storybook | 500+ | 169 | 4 | 0% | 25 |
| fastlane/fastlane | 401 | 1,544 | 4 | 6% | 18 |
| TanStack/query | 500+ | 525 | 3 | 3% | 8 |
| clap-rs/clap | 456 | 639 | 2 | 11% | 18 |
| pytest-dev/pytest | 500+ | 8,242 | 1 | 9% | 6 |
| prettier/prettier | 500+ | 1,365 | 1 | 2% | 17 |
| tokio-rs/tokio | 500+ | 6,947 | 1 | 3% | 16 |
| spf13/cobra | 96 | 21 | 1 | 0% | 7 |
| django/django | 500+ | 502 | 0 | 3% | 14 |
| spf13/viper | 34 | 5 | 0 | 0% | 4 |
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.