Files
max-sixty__worktrunk/.github/benchmark-failure.md
Maximilian Roos 820666741f ci: run benchmarks on their own daily schedule, split from nightly (#3337)
The criterion suite ran as a job inside `nightly.yaml`: ~80 min,
checking performance rather than correctness, yet feeding nightly's
failure aggregator and dominating its wall-clock. This moves it into a
standalone `benchmarks.yaml` on its own daily schedule, decoupled from
nightly's correctness checks.

`benchmarks.yaml` runs on its own cron (3:47 UTC, offset from nightly's
5:37 so the two long runs don't contend) plus `workflow_dispatch`. The
env block is carried over so the shared `test` cache key still matches
(per `.github/CLAUDE.md`); the gist time-series append stays gated to
`schedule` events; and a dedicated `create-issue-on-benchmark-failure`
job keeps a broken bench harness visible, since benchmarks no longer
ride nightly's aggregator.

One behavior change: benchmarks no longer run on PRs at all. Previously
the job ran on a PR carrying the `nightly` label or touching `Cargo.*`.
`workflow_dispatch` against a branch covers on-demand bench runs.

`nightly.yaml` loses the `benchmarks` job, its header line, and its
`needs` entry in the failure aggregator. Docs updated: the `CLAUDE.md`
benchmarks note (benchmarks no longer gate merges since they're off PRs)
and the `running-tend` skill's `setup-nu` call-site list.

This branch also merges current `main`, which includes #3324 (drop
`cache-apt-pkgs-action` for plain `apt-get`); `benchmarks.yaml` installs
zsh/fish the same way rather than reintroducing the dropped action.

> _This was written by Claude Code on behalf of max_

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 23:35:10 -07:00

116 B

title, labels
title labels
Benchmarks failed ci

Benchmarks [failed on {{ date | date('YYYY-MM-DD') }}]({{ env.LINK }})