check / check (push) Successful in 11s
Root make check, and with it the pre-commit hook, now gates the Go backend too. The backend's Makefile targets are shims over backend/script/*; script/cibuild builds both images and is the workflow's only build step. Root make test runs both halves within one 30-second timeout. Root make lint runs golangci-lint only in Docker, by building the lint stage of Dockerfile.backend without the cache; the .golangci.yml drift check moved into backend/script/lint. script/bootstrap installs no linter: it reuses a Go at least as new as backend/go.mod asks for, otherwise installs the pinned, hash-verified release, linked into ~/.local/bin without replacing anything it did not create. With VERSION unset or empty, the backend version falls back to git describe inside a git checkout, then to dev. Model: opus-5-5
22 lines
688 B
Python
Executable File
22 lines
688 B
Python
Executable File
#!/bin/sh
|
|
# script/build: compile the static netwatch-server binary into the
|
|
# backend project root, with its version and architecture stamped in.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
|
|
# VERSION comes from the environment (Dockerfile.backend passes its
|
|
# ARG VERSION in). Unset or empty, it is git describe, or "dev" where
|
|
# there is no git or no repository history.
|
|
version="${VERSION:-$(git describe --always --dirty 2>/dev/null || echo dev)}"
|
|
|
|
CGO_ENABLED=0 go build -trimpath \
|
|
-ldflags "-s -w -X main.Version=$version -X main.Buildarch=$(uname -m)" \
|
|
-o netwatch-server ./cmd/netwatch-server/
|
|
}
|
|
|
|
main "$@"
|