Skip to content

ci: skip benchmark run for PRs that don't touch benchmark-relevant paths - #645

Merged
rexm merged 3 commits into
masterfrom
ci/skip-benchmark-on-unrelated-changes
Aug 5, 2026
Merged

ci: skip benchmark run for PRs that don't touch benchmark-relevant paths#645
rexm merged 3 commits into
masterfrom
ci/skip-benchmark-on-unrelated-changes

Conversation

@rexm

@rexm rexm commented Aug 5, 2026

Copy link
Copy Markdown
Member

Summary

  • `Run Benchmark.Net` is a required status check on `master`, so a PR that only touches e.g. workflow yaml or docs still has to wait for a full BenchmarkDotNet run.
  • Can't just path-filter the workflow trigger to skip it — a required check that never runs stays "pending" forever and blocks merge.
  • Instead, the job always runs but now starts with a `dorny/paths-filter` check against `source/Handlebars/`, `source/Handlebars.Benchmark/`, `source/Directory.Build.props`, and `source/Handlebars.sln`. The actual `dotnet run` benchmark, result storage, and artifact upload steps are skipped (fast success) when none of those changed.

Test plan

  • Confirm this PR itself (which only touches `pull_request.yml`) skips the benchmark run and reports success quickly
  • Open a follow-up PR that touches `source/Handlebars/**` and confirm the benchmark still runs as before

🤖 Generated with Claude Code

The "Run Benchmark.Net" job is a required status check, so it can't
just be trigger-filtered out for e.g. workflow-only PRs — GitHub would
leave the check permanently pending and block the merge. Instead, keep
the job always running but guard the expensive dotnet run/benchmark
steps behind a dorny/paths-filter check against source/Handlebars,
source/Handlebars.Benchmark, and their shared build props/sln, so the
job still reports success quickly when none of those changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@rexm
rexm enabled auto-merge August 5, 2026 01:18
@rexm
rexm disabled auto-merge August 5, 2026 01:19
@rexm
rexm merged commit b70bc9a into master Aug 5, 2026
3 checks passed
@rexm
rexm deleted the ci/skip-benchmark-on-unrelated-changes branch August 5, 2026 01:19
@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

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.

1 participant