ci: skip gh-pages deploy for partial benchmark runs - #143
Merged
Conversation
ruyadorno
approved these changes
Aug 12, 2026
This was referenced Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Filtered
workflow_dispatchruns (e.g. onlyregistry-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 runstep indetect-changesmarks any dispatch whose inputs differ from the defaults (fixtures, variations, binaries, warmup, runs) as partial, and thedeployjob now skips whenpartial_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
processjob also gains aSummarize results in logstep 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 (rawresults-*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_dispatchvariations default includedbuild/build-cache, which a defaults dispatch crossed with every fixture (build×astro, etc.) while scheduled runs only add them fornextviainclude:pairs — the dispatch default now matches the scheduled fallback so a defaults dispatch is identical to a scheduled run, and the include pairs still supplybuild/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 byevent_nameso dispatches only cancel other dispatches, pushes cancel pushes, and scheduled runs are never cancelled by manual activity.