about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--cmd/server/main.go5
-rw-r--r--cmd/server/server.go6
-rw-r--r--nix/default.nix10
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 {