turbo-editors/turbo-rustpublic Fork 0
v1.0.1
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-rust.git
git clone ssh://git@rickub.com/turbo-editors/turbo-rust.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-01-build-time-version-check.md · 32 lines · 1.7 KBmarkdown Blame HistoryRaw
📦 Turbo Rust 713ea5c k33g 13h ago1# Handoff — 2026-09-01 — the build checks the version it stamped
2
3## State
4
5Done. `scripts/check-version.sh` runs the freshly built binary and compares what it reports against what the build meant to stamp. It is called from three places:
6
7| Caller | When | On failure |
8| --- | --- | --- |
9| `make build` | after linking | the build fails |
10| `scripts/install.sh` | on the staged binary, before the rename | nothing is installed; the binary already there is untouched |
11| `03-build-releases.sh` | on the one staged asset this machine can run | the release build stops |
12
13Eight tests in `version_check_test.go`; three of them falsified. Suite green, quality gate PASS 0/0/0. Documented in `docs/{en,fr}/reference/versioning.md`.
14
15## In flight
16
17Nothing.
18
19## Next steps
20
211. Nothing specific — it ships with the rest of the branch.
22
23## Open questions / blockers
24
25- None.
26
27## Watch out for
28
29- **The comparison must stay an equality.** `0.2.0` is a substring of `10.2.0` and of a commit hash that happens to contain it. The release script used `grep -qF` and would have accepted either; there is a test named for exactly that case.
30- **The check goes before the install, not after.** A binary that cannot name its own version must never replace one that can, and there is a test asserting the ordering in `install.sh`.
31- **The failure this catches is silent.** `-X` naming a symbol that does not exist is not a link error. If you rename anything in turbo-core's `version` package, the Makefile's `-X` paths go stale and *nothing* says so except this check.
32- **An unstamped build is legitimate.** Installing from a tarball has no git checkout to describe, so the check is called with no expected version and only refuses `unknown`.