From b27825139e77cd8c527ada7c712f186c94444c04 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 25 Apr 2024 02:09:40 +0200 Subject: brand exe with both long and short commit hashes --- cmd/server/main.go | 5 +++++ cmd/server/server.go | 6 ++---- nix/default.nix | 10 +++++++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/cmd/server/main.go b/cmd/server/main.go index 9fb9f14..b6817d8 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -11,6 +11,11 @@ import ( "github.com/pkg/errors" ) +var ( + CommitSHA string + ShortSHA string +) + type Config struct { Production bool `conf:"default:false"` ListenAddress string `conf:"default:localhost"` diff --git a/cmd/server/server.go b/cmd/server/server.go index 10144bb..9a1e48a 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -19,8 +19,6 @@ import ( "github.com/shengyanli1982/law" ) -var Commit string - var config *cfg.Config type HTTPError struct { @@ -71,7 +69,7 @@ func (fn webHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { slog.Error("runtime panic!", "error", fail) } }() - w.Header().Set("Server", fmt.Sprintf("website (%s)", Commit)) + w.Header().Set("Server", fmt.Sprintf("website (%s)", ShortSHA)) if err := fn(w, r); err != nil { if strings.Contains(r.Header.Get("Accept"), "text/html") { w.WriteHeader(err.Code) @@ -119,7 +117,7 @@ func startServer(runtimeConfig *Config) { EnableTracing: true, TracesSampleRate: 1.0, Dsn: os.Getenv("SENTRY_DSN"), - Release: Commit, + Release: CommitSHA, Environment: env, }) if err != nil { diff --git a/nix/default.nix b/nix/default.nix index 10d52a0..e818c5a 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -1,6 +1,7 @@ { pkgs, self }: let version = "unstable"; + shortSHA = self.shortRev or self.dirtyShortRev; fullSHA = self.rev or self.dirtyRev; mkDocker = type: { server, website }: let @@ -75,7 +76,14 @@ with pkgs; rec { }; modules = ./gomod2nix.toml; subPackages = [ "cmd/server" ]; - ldflags = [ "-s" "-w" "-X" "main.Commit=${fullSHA}" ]; + ldflags = [ + "-s" + "-w" + "-X" + "main.CommitSHA=${fullSHA}" + "-X" + "main.ShortSHA=${shortSHA}" + ]; }; docker-stream = mkDockerStream { inherit server website; }; docker-stream-aarch64-linux = mkDockerStream { -- cgit 1.4.1