Point the kernel benchmark at a path that exists (#775) - #789
Merged
Conversation
Both triggers in Benchmark.yml filtered on "./Sources/AngouriMath/AngouriMath", which is not a path in this tree. The kernel is Sources/AngouriMath/ and its project file is Sources/AngouriMath/AngouriMath.csproj; there is no nested AngouriMath directory, and the pattern has no wildcard, so it could only ever match that one literal non-existent path. The workflow last ran on 2026-01-02T14:24Z. The filter was re-added in f51c7e0 at 14:26Z -- two minutes later. The January runs happened during the #640 CI work while the filter was temporarily absent, which is why the history looks alive up to that point and then stops dead. Ninety-eight PRs have merged since without being benchmarked, so a PR could regress Simplify by any factor with CI entirely green. Two paths added beyond the kernel. A change to the benchmark harness is worth benchmarking, and so is a change to this file -- the second of those is also what lets a fix to these filters demonstrate that it fires, rather than being reasoned about, which is what the issue asks for. The leading "./" was wrong as well, path filters being globs matched against repository-root-relative paths, though it made no difference while the target did not exist either way. workflow_dispatch added so the benchmark can be run against a branch on demand, which it could not be before. The list is written out twice rather than shared through a YAML anchor: anchors are not a supported part of the workflow syntax, and a benchmark that fails to parse is worse than the one being fixed. The file parses, and Sources/Tests/DotnetBenchmark builds clean on .NET 10 with both benchmark names in Program.cs still resolving. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Verified, rather than reasoned about, as the issue asks. Those are the two most recent runs of Kernel Benchmark. The first is this PR — the workflow triggered because Run: https://github.com/asc-community/AngouriMath/actions/runs/31204448891 |
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.
Fixes #775.
Both triggers filtered on
"./Sources/AngouriMath/AngouriMath", which is not a path in this tree. The kernel isSources/AngouriMath/and its project file isSources/AngouriMath/AngouriMath.csproj— there is no nestedAngouriMathdirectory, and the pattern has no wildcard, so it could only ever match that one literal non-existent path.The workflow last ran on 2026-01-02T14:24Z. The filter was re-added in
f51c7e03at 14:26Z — two minutes later. The January runs happened during the #640 CI work while the filter was temporarily absent, which is why the history looks alive up to that point and then stops dead.Ninety-eight PRs have merged since. None were benchmarked, so a PR could have regressed
Simplifyby any factor with CI entirely green. These are the inter-version CPU and RAM benchmarks behind #529 and #500, and the only automated guard on not losing speed or memory on popular use cases.The change
Two paths beyond the kernel, each for a reason:
Benchmark.ymlis now in its own path list, Kernel Benchmark should appear on this PR's checks — if it does not, the fix is wrong and you can see that without merging it.workflow_dispatchadded as well, so the benchmark can be run against a branch on demand. It could not be before.The leading
./was separately wrong — path filters are globs matched against repository-root-relative paths — though it made no difference while the target did not exist either way.Two notes for review
The list is written out twice rather than shared through a YAML anchor. Anchors are not a supported part of the workflow syntax, and a benchmark that fails to parse is a worse outcome than the one being fixed.
Whether the
pull_requestleg should filter at all is still open, as #775 says: the job takes 9–11 minutes. This PR keeps the filter and makes it correct rather than deciding that question — but now that it works, dropping the filter is a one-line follow-up if the maintainers would rather every PR be benchmarked.Checked
Sources/Tests/DotnetBenchmarkbuilds clean on .NET 10, andCommonFunctionsInterVersionandRAMUsageTest— the two names the job passes on the command line — both still resolve inProgram.cs🤖 Generated with Claude Code