Skip to content

B5: build-time FW_VERSION from git describe #187

Open

Description

@Strycher

Recreated from Strycher/Field_Compass-archive#187 — originally opened by @Strycher on 2026-08-09. Credentials redacted where present.

Epic: #154

Inject FW_VERSION at build time via -D from git describe, replacing the hand-maintained #define FW_VERSION "0.51.1" at Field_Compass.ino:28.

The drift this closes

FW_VERSION reads 0.51.1; the newest tag is v0.51.10. Nine tags were cut on chore commits with no firmware change, against CLAUDE.md's rule that the two must match. The device's /diags reports 0.51.1 today.

Constraint - SAFELANE section 7

Do not reintroduce an auto-commit version bumper. The 2026-03-29 incident was exactly that: a workflow committing version bumps that rebase merges then orphaned, leaving the version stale for 270 commits while tags advanced. Compute at build time; commit nothing.

Acceptance criteria

  • /diags and the About screen report a git describe derived version
  • A dirty working tree is visibly marked (-dirty), not silently reported as clean
  • No workflow commits a version change

Activity

  1. Strycher commented on Sep 7, 2026

    @Strycher
    OwnerAuthor

    @Strycher — 2026-09-05

    🤖 Auto-promoted to Ready — all dependencies resolved (#186 closed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions