Skip to content

[patch] Write benchmark results where the workflow looks for them - #73

Merged
matt-edmondson merged 1 commit into
mainfrom
claude/magical-knuth-idzj5r
Sep 14, 2026
Merged

matt-edmondson merged 1 commit into
mainfrom
claude/magical-knuth-idzj5r

Conversation

@matt-edmondson

Copy link
Copy Markdown
Contributor

The Benchmarks workflow has never published an artifact.

BenchmarkDotNet writes its reports below the working directory, and dotnet run --project leaves that at the repository root rather than moving into the project. So the reports landed in ./BenchmarkDotNet.Artifacts/results while the summary and upload steps looked in PreciseNumber.Benchmarks/BenchmarkDotNet.Artifacts/results.

All four runs of the workflow so far are green and uploaded nothing. Run 34747735864 spent thirteen minutes benchmarking and ended with:

##[warning]No files were found with the provided path:
PreciseNumber.Benchmarks/BenchmarkDotNet.Artifacts/results/*. No artifacts will be uploaded.

and the API reports 0 artifacts for that run.

The change

The run step now passes --artifacts explicitly, so the location is stated rather than inherited from whatever the working directory happens to be, and the summary and upload steps read that same path.

if-no-files-found is also raised from warn to error. That upload warning was the only sign this was broken, and a warning on an otherwise green run is what let it go unnoticed across four runs. This is slightly beyond the path fix, and it is the part that stops the failure mode from being silent again — worth calling out in case you would rather keep it at warn.

Verified

Both behaviours were measured in this session rather than assumed:

  • Reproducing the workflow's command verbatim from the repository root put the report at ./BenchmarkDotNet.Artifacts/results/…-report-github.md, confirming the mismatch.
  • With --artifacts DIR, reports land at DIR/results/…-report-github.md and nothing is written at the repository root.
  • Replaying all three steps end to end with the patched file: the summary glob finds the report, and the upload glob publishes 4 files (-report-github.md, -report-full.json, -report.csv, -report.html) — the JSON being what the existing comment says a later comparison would be built from.

No library code is touched, so nothing here affects the published package.

🤖 Generated with Claude Code

https://claude.ai/code/session_017jrnV7N94UGL8fDRRE8Xt8


Generated by Claude Code

The Benchmarks workflow has never published an artifact. BenchmarkDotNet writes
its reports below the working directory, and `dotnet run --project` leaves that
at the repository root rather than moving into the project, so the reports landed
in ./BenchmarkDotNet.Artifacts/results while the summary and upload steps looked
in PreciseNumber.Benchmarks/BenchmarkDotNet.Artifacts/results. All four runs so
far succeeded and uploaded nothing; the most recent spent thirteen minutes
benchmarking and ended with "No files were found with the provided path".

The run step now passes --artifacts explicitly, so the location is stated rather
than inherited from whatever the working directory happens to be, and the summary
and upload steps read that same path.

if-no-files-found is also raised from warn to error. The upload step warning was
the only sign this was broken, and a warning on a green run is what let it go
unnoticed across four runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017jrnV7N94UGL8fDRRE8Xt8
@sonarqubecloud

Copy link
Copy Markdown

@matt-edmondson
matt-edmondson merged commit f0a6c4b into main Sep 14, 2026
13 checks passed
@matt-edmondson
matt-edmondson deleted the claude/magical-knuth-idzj5r branch September 14, 2026 14:38
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.

2 participants