SIGN IN SIGN UP

ci: publish benchmark trend on a schedule instead of per-push

A full benchmark run takes up to 120 minutes, so per-push runs on main could
never keep up with the branch traffic. Serializing them with a concurrency
group stopped the racing writes to the `benchmarks` branch, but GitHub only
ever holds ONE waiting run per group, so all but the newest queued run were
cancelled ("Canceling since a higher priority waiting request for benchmarks
exists") and their datapoints lost.

Split the workflow instead:

- benchmarks-publish.yaml (new) runs the publishing jobs on a 6-hourly cron,
  keeps the concurrency group as a safety net for manual dispatches, and skips
  the run when main saw no Go changes in the lookback window.
- benchmarks.yaml keeps the per-push regression comment and drops the
  concurrency group entirely. That job only reads, so it was being cancelled as
  collateral damage whenever two pushes landed close together.


Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
S
Stephan Renatus committed
56d870454f9433c088b617cff8252533640fc5eb
Parent: 90c8a7b
Committed by Stephan Renatus <s_renatus@apple.com> on 9/1/2026, 7:04:53 AM