Skip to content

ci: skip gh-pages deploy for partial benchmark runs - #143

Merged
lukekarrys merged 2 commits into
mainfrom
lk/partial-run-no-deploy
Aug 12, 2026
Merged

ci: skip gh-pages deploy for partial benchmark runs#143
lukekarrys merged 2 commits into
mainfrom
lk/partial-run-no-deploy

Conversation

@lukekarrys

@lukekarrys lukekarrys commented Aug 12, 2026

Copy link
Copy Markdown
Member

Filtered workflow_dispatch runs (e.g. only registry-clean/registry-lockfile) are the fastest way to validate registry changes, but deploying their results breaks gh-pages: the day's data is missing most variants and charts don't render. This makes partial runs safe to fire at will.

A Detect partial run step in detect-changes marks any dispatch whose inputs differ from the defaults (fixtures, variations, binaries, warmup, runs) as partial, and the deploy job now skips when partial_run == 'true'. Scheduled and push runs are unaffected. Detection is automatic rather than an opt-in input so a filtered run can never pollute gh-pages by accident; there is deliberately no override.

The process job also gains a Summarize results in log step that prints every fixture/variation's per-command mean and raw times into the job log and $GITHUB_STEP_SUMMARY, so partial runs are fully readable from the Actions UI without downloading artifacts (raw results-* artifacts still upload from each matrix job as before, 7-day retention).

Second commit fixes two pre-existing quirks found while making this change. The workflow_dispatch variations default included build/build-cache, which a defaults dispatch crossed with every fixture (build×astro, etc.) while scheduled runs only add them for next via include: pairs — the dispatch default now matches the scheduled fallback so a defaults dispatch is identical to a scheduled run, and the include pairs still supply build/build-cache/run. And the single concurrency group meant a dispatch during the daily window silently cancelled the in-progress scheduled run, losing that day's data; the group is now scoped by event_name so dispatches only cancel other dispatches, pushes cancel pushes, and scheduled runs are never cancelled by manual activity.

@lukekarrys
lukekarrys merged commit 7e5a0cd into main Aug 12, 2026
8 checks passed
@lukekarrys
lukekarrys deleted the lk/partial-run-no-deploy branch August 12, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants