- Shipped
- November 12, 2026 at 9:57 PM UTC
- Author
- Kamo
- Commit
- a34d5f7
Forgejo only reads concurrency at the workflow level. Ours sat on the build job and was ignored, so Forgejo applied its automatic cancel-in-progress group: every push cancelled the running build (undoing the 2026-11-08 queue fix), and two runs created in the same second ran side by side. Moved to the top with cancel-in-progress: false (queue-behind, as klusterservices and the dictionary do). Two pushes within a second both get runs for the NEWER commit (Forgejo resolves the branch head at processing time), so the gate also skips a push run whose image is already in the registry. workflow_dispatch still always builds.
