The startup line, crash reports and the debug panel now name the release a build is, so a bug report carries it: `benilla build 0.2.0 · b17be27 · 2026-09-27 · release` on a release, `0.2.0+12 · …` twelve commits past its tag.
- `benilla-buildstamp` also stamps `git describe --tags --long --match 'v[0-9]*'` and watches `packed-refs` and `refs/tags`, so a fetched tag restamps without a new commit.
- `BuildId` carries the workspace version and the describe. `release()` reads the version, with `+N` when the describe's tag is that version's; with no tag in reach (a source archive, a shallow clone) or the previous version's tag (the release commit before its tag exists) it reads the version alone.
- The bug template's example line shows the new form.
Checked: the four new `build_id` tests fail with the distance parser broken and pass restored; the describe command in a scratch clone reads empty with no tag, `v0.1.0-443-g…` over a launch tag, `v0.2.0-0-g…` on the release commit, and skips tags that are not `v`-numbered; the build script's output carries the new watches and variable. Gates green on macOS; no platform seam touched.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
16 lines
519 B
Rust
16 lines
519 B
Rust
//! The `benilla` launcher: a shim that carries the build stamp, so a new commit recompiles these
|
|
//! few lines and relinks instead of rebuilding `benilla-app`.
|
|
|
|
use benilla_app::BuildId;
|
|
|
|
fn main() -> benilla_app::AppExit {
|
|
benilla_app::run(BuildId {
|
|
version: env!("CARGO_PKG_VERSION"),
|
|
describe: env!("BENILLA_GIT_DESCRIBE"),
|
|
sha: env!("BENILLA_GIT_SHA"),
|
|
short: env!("BENILLA_GIT_SHORT"),
|
|
date: env!("BENILLA_GIT_DATE"),
|
|
profile: env!("BENILLA_PROFILE"),
|
|
})
|
|
}
|