Forgejo runner runs with `capacity: 1` (one job at a time across every
repo it serves — mammon, infoxtractor, etc.). Without a concurrency
block, rapid-fire pushes to the same PR branch all queue behind any
task already running, burning the runner for 30+ min on stale commits.
`concurrency: { group: ci-$ref, cancel-in-progress: true }` tells
Forgejo to cancel any still-queued or still-running CI on this ref as
soon as a newer commit shows up. Applies to both push and
pull_request events.
(Previous PR bodies noted a "trigger bug" where I saw no CI response
on a push — that was actually just the capacity=1 queue with no visible
signal; the CI always fired, just minutes later. Runner capacity bump
lives in infrastructure, not this repo.)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>