CI got 4m 12s slower: build › Restore Go cache #128
CI on PR #412 took 17m 52s, against 13m 40s usual on main (+31%). Biggest changes:
- build › Restore Go cache +2m 31s (possible cache miss)
- test › go test ./... +1m 09s
CI Stats compares each pull request's CI time with recent runs on your default branch and puts the result on the PR as a check, with the jobs and steps responsible. Nothing to add to your workflows.
CI took 17m 52s on this PR. On main it usually takes 13m 40s (p90 14m 50s, last 20 runs), so this is outside normal variation. Queue time is excluded (48s).
| Job | Main | This PR | Change |
|---|---|---|---|
| build | 6m 05s | 8m 57s | +2m 52s |
| test (ubuntu) | 5m 40s | 6m 58s | +1m 18s |
| lint | 1m 55s | 1m 57s | +2s |
CI on PR #412 took 17m 52s, against 13m 40s usual on main (+31%). Biggest changes:
The check is called CI timing. Its title in the checks list tells you the answer before you open it.
Each PR is compared with a baseline of recent runs on your default branch. Ordinary run-to-run noise is not flagged.
A slower PR gets a warning, never a red cross. Switch a repo to blocking mode if you want to make the check required.
Waiting for a runner isn't your code's fault. Queue time is shown separately and left out of the comparison.
CI Stats reads GitHub Actions webhooks. No workflow edits, no actions to add, no tokens to manage.
Pick an organisation or individual repositories on GitHub.
Recent runs on your default branch are imported, so there is a baseline straight away.
The first PR after install gets a CI timing check when its workflows finish.
Weekly p50 and p95 per workflow, the jobs and steps growing fastest, and the flakiest jobs by retry rate. A waterfall for each run shows where the time went, queue included.
Once a month CI Stats opens an issue in the repo with how CI time moved, so slow drift gets noticed even when no single PR caused it.
The hosted service and the self-hosted build are the same program.
Install the App and you're done. Pages for public repositories are public; private ones need a GitHub sign-in and access to the repo.
No Redis, no queue service, and no data sent back to us. Bring your own GitHub App and run it with Docker Compose.
docker compose -f deploy/compose/docker-compose.yml up
Source available under the Functional Source License. Each release becomes Apache 2.0 two years after it ships.