Remove Buildarch: read the architecture at run time (closes #83) #84

Merged
clawbot merged 1 commits from issue-83-remove-buildarch into next 2026-10-02 01:05:09 +02:00
7 changed files with 14 additions and 18 deletions
+1 -1
View File
@@ -37,7 +37,7 @@ RUN make test
# make build is a shim around backend/script/build, the one definition # make build is a shim around backend/script/build, the one definition
# of the build command: # of the build command:
# CGO_ENABLED=0 go build -trimpath -ldflags "-s -w -X main.Version=... -X main.Buildarch=..." # CGO_ENABLED=0 go build -trimpath -ldflags "-s -w -X main.Version=..."
# That script reads VERSION from the environment, so it is handed over # That script reads VERSION from the environment, so it is handed over
# there rather than as a make variable. # there rather than as a make variable.
ARG VERSION=dev ARG VERSION=dev
+1 -1
View File
@@ -32,7 +32,7 @@ pattern as the repo root: the targets in `backend/Makefile` are thin shims over
`test`, `fmt` and `fmt-check`: `test`, `fmt` and `fmt-check`:
- `script/build` — compile the static `netwatch-server` binary with its version - `script/build` — compile the static `netwatch-server` binary with its version
and architecture stamped in. The version is `VERSION` from the environment; stamped in. The version is `VERSION` from the environment;
when that is unset or empty, it falls back to `git describe` inside a git when that is unset or empty, it falls back to `git describe` inside a git
checkout, then to `dev` checkout, then to `dev`
- `script/test` — run the Go tests under a 30-second timeout - `script/test` — run the Go tests under a 30-second timeout
+2 -4
View File
@@ -19,9 +19,8 @@ import (
//nolint:gochecknoglobals // set via ldflags at build time //nolint:gochecknoglobals // set via ldflags at build time
var ( var (
Appname = "netwatch-server" Appname = "netwatch-server"
Version string Version string
Buildarch string
) )
func main() { func main() {
@@ -40,7 +39,6 @@ func main() {
globals.Appname = Appname globals.Appname = Appname
globals.Version = Version globals.Version = Version
globals.Buildarch = Buildarch
fx.New( fx.New(
fx.Provide( fx.Provide(
+4 -8
View File
@@ -10,22 +10,18 @@ var (
Appname string Appname string
// Version is the git version tag. // Version is the git version tag.
Version string Version string
// Buildarch is the build architecture.
Buildarch string
) )
// Globals holds build-time metadata for the application. // Globals holds build-time metadata for the application.
type Globals struct { type Globals struct {
Appname string Appname string
Version string Version string
Buildarch string
} }
// New creates a Globals instance from package-level variables. // New creates a Globals instance from package-level variables.
func New(_ fx.Lifecycle) (*Globals, error) { func New(_ fx.Lifecycle) (*Globals, error) {
return &Globals{ return &Globals{
Appname: Appname, Appname: Appname,
Buildarch: Buildarch, Version: Version,
Version: Version,
}, nil }, nil
} }
+2 -1
View File
@@ -5,6 +5,7 @@ package logger
import ( import (
"log/slog" "log/slog"
"os" "os"
"runtime"
"sneak.berlin/go/netwatch/internal/globals" "sneak.berlin/go/netwatch/internal/globals"
@@ -95,6 +96,6 @@ func (l *Logger) Identify() {
l.log.Info("starting", l.log.Info("starting",
"appname", l.params.Globals.Appname, "appname", l.params.Globals.Appname,
"version", l.params.Globals.Version, "version", l.params.Globals.Version,
"buildarch", l.params.Globals.Buildarch, "arch", runtime.GOARCH,
) )
} }
+2 -1
View File
@@ -4,6 +4,7 @@ import (
"errors" "errors"
"net" "net"
"net/http" "net/http"
"runtime"
"strconv" "strconv"
"time" "time"
@@ -53,7 +54,7 @@ func (s *Server) listenAndServe() {
s.log.Info("http begin listen", s.log.Info("http begin listen",
"listenaddr", s.httpServer.Addr, "listenaddr", s.httpServer.Addr,
"version", s.params.Globals.Version, "version", s.params.Globals.Version,
"buildarch", s.params.Globals.Buildarch, "arch", runtime.GOARCH,
) )
err := s.httpServer.ListenAndServe() err := s.httpServer.ListenAndServe()
+2 -2
View File
@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# script/build: compile the static netwatch-server binary into the # script/build: compile the static netwatch-server binary into the
# backend project root, with its version and architecture stamped in. # backend project root, with its version stamped in.
set -eu set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
@@ -14,7 +14,7 @@ main() {
version="${VERSION:-$(git describe --always --dirty 2>/dev/null || echo dev)}" version="${VERSION:-$(git describe --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 -X main.Buildarch=$(uname -m)" \ -ldflags "-s -w -X main.Version=$version" \
-o netwatch-server ./cmd/netwatch-server/ -o netwatch-server ./cmd/netwatch-server/
} }