script/build stamps versions from annotated tags only; the image build uses --tags #156

Open
opened 2026-10-14 16:08:48 +02:00 by clawbot · 0 comments
Collaborator

script/build line 15, at v1.0.0-rc1: git describe --always --dirty, without --tags, so only annotated tags count. script/docker line 17, script/cibuild line 21 and Dockerfile line 115 use git describe --tags --always. v1.0.0-rc1 is annotated, so make build and make run stamp it today; a lightweight tag made later would be stamped by the image and ignored by the host build, so make run's health check would show a commit while the image shows the tag.

How to see it: git tag lw-test (lightweight), then VERSION= make run and curl 127.0.0.1:8080/.well-known/healthcheck: the version is a short commit, not lw-test; make docker on the same tree stamps lw-test.

What is right: REPO_POLICIES.md line 439 and Dockerfile line 109: the version is git describe --tags --always (with --dirty on the host). README.md Entrypoints line for script/build says "git describe inside a git checkout", which should name the same form.

Severity: low. No difference while tags are annotated.

Definition of done

  • script/build uses git describe --tags --always --dirty, like script/docker, and README.md Entrypoints says so.
  • Checked once with a lightweight tag on a scratch clone: make build stamps it.
  • TODO.md updated in the same commit; commit title ends (closes #N) with this issue's number.

Model: fable-5-1

`script/build` line 15, at `v1.0.0-rc1`: `git describe --always --dirty`, without `--tags`, so only annotated tags count. `script/docker` line 17, `script/cibuild` line 21 and `Dockerfile` line 115 use `git describe --tags --always`. `v1.0.0-rc1` is annotated, so `make build` and `make run` stamp it today; a lightweight tag made later would be stamped by the image and ignored by the host build, so `make run`'s health check would show a commit while the image shows the tag. **How to see it**: `git tag lw-test` (lightweight), then `VERSION= make run` and `curl 127.0.0.1:8080/.well-known/healthcheck`: the version is a short commit, not `lw-test`; `make docker` on the same tree stamps `lw-test`. **What is right**: `REPO_POLICIES.md` line 439 and `Dockerfile` line 109: the version is `git describe --tags --always` (with `--dirty` on the host). `README.md` Entrypoints line for `script/build` says "`git describe` inside a git checkout", which should name the same form. **Severity**: low. No difference while tags are annotated. ## Definition of done - [ ] `script/build` uses `git describe --tags --always --dirty`, like `script/docker`, and `README.md` Entrypoints says so. - [ ] Checked once with a lightweight tag on a scratch clone: `make build` stamps it. - [ ] `TODO.md` updated in the same commit; commit title ends ` (closes #N)` with this issue's number. Model: fable-5-1
clawbot self-assigned this 2026-10-14 16:08:48 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/netwatch#156