ferrlabs/FerrFlow Benchmarks

Run benchmarks and detect performance regressions

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 6, 2026
License
MPL 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: ferrlabs/benchmarks@90ce64396c762ad04a8a89a86a5739c664e0d50f # v5.1.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
typeBenchmark type: micro, full, or allnoall
skip-competitorsSkip competitor benchmarks in full modenofalse
alert-thresholdRegression alert threshold (e.g. 120%)no120%
comment-on-prPost benchmark results as PR commentnotrue
full-regression-thresholdRelative threshold for full benchmark regressions (e.g. 125%)no125%
binary-size-thresholdBinary size growth threshold (e.g. 120%)no120%
warmupNumber of warmup runs before timing (hyperfine --warmup)no2
runsNumber of timed runs (hyperfine --runs)no10
definitionsPath to the directory of JSON fixture definitions for benchmark fixture generationyes
verboseShow full error output when a benchmark command fails validationnofalse
ferrflow-tokenGitHub token for PR comments and artifact accessyes
group-filterOptional criterion bench group filter (substring). If set, only benches matching this are run. Use for matrix sharding.no""
binary-dirDirectory holding a prebuilt `ferrflow` executable. When set, the full benchmark skips its own `cargo build --release` and puts this directory on PATH instead. Point it at a downloaded build artifact to avoid recompiling a binary the caller already produced.no""
fixtures-dirDirectory of already-generated benchmark fixtures. When set, the full benchmark skips its own fixture generation and benchmarks whatever is in here. Give a shard a directory holding only its own fixture.no""
shardRun as a matrix shard: benchmark and write latest.json, but skip the baseline download, regression check, PR comment and uploads. An aggregate job merges the shards and does those once.nofalse
merge-partialsDirectory of partial latest.json files from sharded runs. When set, the action skips building and benchmarking entirely: it merges the partials and then runs the regression check, PR comment and uploads over the merged result.no""
namedescription
regression-detectedWhether a regression was detected
benchmark-summaryFormatted benchmark summary (markdown) for release notes