script/build stamps lightweight tags too (closes #156)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
When VERSION is unset or empty, script/build now takes the version from `git describe --tags --always --dirty`, the form script/docker and script/cibuild use. Without --tags it ignored lightweight tags, so a binary from `make build` could report a commit where the image built from the same tree reported the tag. README.md Entrypoints names the same form. Model: opus-5-5
This commit is contained in:
@@ -55,7 +55,8 @@ either one is broken. We provide:
|
|||||||
- `script/build` — build the frontend for production into `dist/`, then the
|
- `script/build` — build the frontend for production into `dist/`, then the
|
||||||
static `netwatch-server` binary into the repo root with its version stamped
|
static `netwatch-server` binary into the repo root with its version stamped
|
||||||
in: `VERSION` from the environment, or when that is unset or empty,
|
in: `VERSION` from the environment, or when that is unset or empty,
|
||||||
`git describe` inside a git checkout, then `dev`
|
`git describe --tags --always --dirty` inside a git checkout, as
|
||||||
|
`script/docker` does, then `dev`
|
||||||
- `script/run` — build with `script/build`, then run `netwatch-server` with its
|
- `script/run` — build with `script/build`, then run `netwatch-server` with its
|
||||||
defaults (see [Settings](#settings))
|
defaults (see [Settings](#settings))
|
||||||
- `script/clean` — remove what `script/build` writes
|
- `script/clean` — remove what `script/build` writes
|
||||||
|
|||||||
@@ -22,6 +22,12 @@ Run `make frontend-viewport-test` in CI as its own step; it is not part of
|
|||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
|
- 2026-10-19: when `VERSION` is unset or empty, `script/build` stamps the
|
||||||
|
version from `git describe --tags --always --dirty`, as `script/docker` does
|
||||||
|
([#156](https://git.eeqj.de/sneak/netwatch/issues/156)). Without `--tags` it
|
||||||
|
skipped lightweight tags, so `make run` could report a commit where the image
|
||||||
|
built from the same tree reported the tag. Checked once with a lightweight tag
|
||||||
|
on a scratch clone: `make build` stamped it
|
||||||
- 2026-10-19: `.gitea/workflows/check.yml` is the sneak/prompts copy at
|
- 2026-10-19: `.gitea/workflows/check.yml` is the sneak/prompts copy at
|
||||||
`0653579` ([#153](https://git.eeqj.de/sneak/netwatch/issues/153)). Its
|
`0653579` ([#153](https://git.eeqj.de/sneak/netwatch/issues/153)). Its
|
||||||
checkout step sets `fetch-depth: 0`, so CI clones all history and tags, and
|
checkout step sets `fetch-depth: 0`, so CI clones all history and tags, and
|
||||||
|
|||||||
+4
-3
@@ -10,9 +10,10 @@ main() {
|
|||||||
cd "$ROOT"
|
cd "$ROOT"
|
||||||
"$ROOT/script/yarn" build
|
"$ROOT/script/yarn" build
|
||||||
|
|
||||||
# VERSION comes from the environment. Unset or empty, it is git
|
# VERSION comes from the environment. Unset or empty, it is
|
||||||
# describe, or "dev" where there is no git or no repository history.
|
# `git describe --tags --always --dirty`, as in script/docker, or
|
||||||
version="${VERSION:-$(git describe --always --dirty 2>/dev/null || echo dev)}"
|
# "dev" where there is no git or no repository history.
|
||||||
|
version="${VERSION:-$(git describe --tags --always --dirty 2>/dev/null || echo dev)}"
|
||||||
|
|
||||||
CGO_ENABLED=0 go build -trimpath \
|
CGO_ENABLED=0 go build -trimpath \
|
||||||
-ldflags "-s -w -X main.Version=$version" \
|
-ldflags "-s -w -X main.Version=$version" \
|
||||||
|
|||||||
Reference in New Issue
Block a user