| Workflow | Minutes | Runs | Avg Duration | Est. Cost |
|---|---|---|---|---|
| acme/infra :: Deploy Production | 4,820 | 142 | 33.9m | $38.56 |
| acme/api :: CI / Build & Test | 3,140 | 890 | 3.5m | $25.12 |
| acme/frontend :: PR Check | 1,260 | 310 | 4.1m | $10.08 |
acme/infra :: Deploy Production — schedule fires too often
Scheduled every 15 minutes, but actual trigger rate is 0.3 runs/day. This wastes ~1,800 min/mo.
Fix: Change cron schedule from */15 * * * * to 0 * * * * (hourly). Saves ~1,800 min/mo (~$14.40/mo).
acme/frontend :: PR Check — runs on push to main (not just PRs)
28% of runs (87/310) were triggered by push events to main, not pull_request events.
Fix: Add branches-ignore: [main] to the push trigger, or change to only: [pull_request]. Saves ~360 min/mo.
acme/api :: CI / Build & Test — low cache hit rate (12%)
node_modules is not cached between runs. Each run reinstalls all dependencies from scratch.
Fix: Add actions/cache step for node_modules keyed by package-lock.json hash. Saves ~180 min/mo.
This is a sample report for a fictional organization.
Run gh-actions-audit audit --org your-org to see your real numbers.