release

command
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package main is the release-time bench aggregator.

It consumes the per-scenario artifacts produced by testbed/bench/run.sh (one run directory per scenario, each containing leak_gate.json, ghz_*.json, and a pre-rendered report.md) and emits a single fixed-format Markdown document suitable for appending to a GitHub Release body.

The output schema is intentionally stable across releases so that readers can diff bench numbers tag-over-tag without parsing pain:

# Lantern benchmark — <tag>
- Commit: <sha>
- Runner: <runner>
- Captured: <UTC timestamp>

## Summary
| scenario | leak gate | rps | p99 (ms) | non-OK |
| ... |

## <scenario>
<per-scenario report.md, with H1 demoted to H3 so it nests cleanly>

Invocation:

go run ./testbed/bench/release \
    -tag v1.2.3 -commit abc1234 -runner linux/amd64 \
    -captured 20260604T120000Z \
    -out bench-report.md \
    smoke_write_heavy=path/to/out/smoke_write_heavy/<ts> \
    smoke_read_heavy=path/to/out/smoke_read_heavy/<ts> \
    ...

Missing per-scenario artifacts do NOT abort the run — the scenario is rendered as a `(failed)` row in the summary so a single noisy scenario does not prevent the rest of the report from shipping. The driver script (release.sh) decides whether a fail row should fail the CI job.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL