Add benchmark/Project.toml so the benchmark suite resolves StableRNGs#102
Conversation
63259f0 to
d92e643
Compare
|
Note on the failing The SciML benchmark workflow invokes:
The fix is verified out-of-band: in a bare environment (only |
The `Benchmarks` CI job errored with `ArgumentError: Package StableRNGs not found in current path`. AirspeedVelocity builds a temporary environment for the benchmarked revision and, when a `benchmark/Project.toml` is present in that revision's checkout, copies it in as the environment (it auto-adds BenchmarkTools/JSON3 and the package under test, but nothing else). There was no such file, so `using StableRNGs` in `benchmark/benchmarks.jl` could not resolve. Add `benchmark/Project.toml` declaring StableRNGs. Verified by replicating AirspeedVelocity's env construction (copy the file, develop the package, add BenchmarkTools/JSON3): the unmodified suite loads, builds all groups, and runs a benchmarkable. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvBXVKGujjeaCB3iLwsDeG
d92e643 to
0ecc588
Compare
|
Updated: switched from vendoring an RNG to simply adding |
Problem
The
BenchmarksCI job fails on every PR that touchessrc/**(seen on #100, #101):benchmark/benchmarks.jldoesusing StableRNGs, but there was nobenchmark/Project.toml. AirspeedVelocity builds a temp environment for each benchmarked revision and, when that revision's checkout containsbenchmark/Project.toml, copies it in as the environment (it auto-addsBenchmarkTools/JSON3and the package under test, but nothing else). With no such file,StableRNGsnever resolves.Fix
Add
benchmark/Project.tomldeclaringStableRNGs. That's all AirspeedVelocity needs (it suppliesBenchmarkTools/JSON3and the package itself).Verification
Replicated AirspeedVelocity's env construction locally — copy
benchmark/Project.tomlinto a fresh env,Pkg.developthe package,Pkg.add(["BenchmarkTools","JSON3"])— then ran the unmodifiedbenchmark/benchmarks.jl:StableRNGsresolves, the suite builds all groups (equality/per_query/batched/props_construct), and a benchmarkable runs.Note on CI
This PR's own
Benchmarkscheck can't go green (and won't trigger): the workflow runsbenchpkg --rev=main,<PR> --bench-on=main, so it benchmarks using main's checkout, which won't havebenchmark/Project.tomluntil this merges. The fix takes effect on the base branch — subsequent PRs' benchmark runs then resolve cleanly.(Separately: the
Benchmark.ymlpath filter watchesbench/**, but the suite lives inbenchmark/**; a one-line fix, left out here to keep this PR to just the Project.toml.)