mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-02 11:29:17 +00:00
0bf077f918
Cache Warm used one concurrency group for every trigger. GitHub keeps one running plus one pending run per group, so a manually dispatched run sat as pending until the next merge displaced and cancelled it — observed three times in a row. That made the --timings gate in rustfs/backlog#1601 impossible to trigger while main was busy, which is precisely when someone wants to measure. Scoping the group by event lets the push and dispatch paths queue independently. Neither gains cancel-in-progress, so a burst of merges still collapses into "current run finishes, newest queued run follows". The two paths can now overlap and race to save the same key. That is benign: the loser finds the key already present and skips, and both builds produce the same artifacts from the same commit.