aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2020-09-02 16:18:08 +0100
committerGitHub <noreply@github.com>2020-09-02 16:18:08 +0100
commit3b0774805cd06e1d9094a5b0773126cbfb573abb (patch)
treea3eb2fdaa28c8f88ace5294743910eddac74964f
parent096191ca240776031370e99b93732557972ba92a (diff)
Version imprint (#1383)
* Versions * Update build.sh
-rwxr-xr-xbuild.sh9
-rw-r--r--federationapi/routing/version.go11
-rw-r--r--internal/setup/base.go2
-rw-r--r--internal/version.go26
4 files changed, 45 insertions, 3 deletions
diff --git a/build.sh b/build.sh
index 087f4ae7..34e4b115 100755
--- a/build.sh
+++ b/build.sh
@@ -3,6 +3,11 @@
# Put installed packages into ./bin
export GOBIN=$PWD/`dirname $0`/bin
-go install -v $PWD/`dirname $0`/cmd/...
+export BRANCH=`(git symbolic-ref --short HEAD | cut -d'/' -f 3 )|| ""`
+export BUILD=`git rev-parse --short HEAD || ""`
-GOOS=js GOARCH=wasm go build -o main.wasm ./cmd/dendritejs
+export FLAGS="-X github.com/matrix-org/dendrite/internal.branch=$BRANCH -X github.com/matrix-org/dendrite/internal.build=$BUILD"
+
+go install -trimpath -ldflags "$FLAGS" -v $PWD/`dirname $0`/cmd/...
+
+GOOS=js GOARCH=wasm go build -trimpath -ldflags "$FLAGS" -o main.wasm ./cmd/dendritejs
diff --git a/federationapi/routing/version.go b/federationapi/routing/version.go
index 14ecd21e..906fc2b9 100644
--- a/federationapi/routing/version.go
+++ b/federationapi/routing/version.go
@@ -17,6 +17,7 @@ package routing
import (
"net/http"
+ "github.com/matrix-org/dendrite/internal"
"github.com/matrix-org/util"
)
@@ -31,5 +32,13 @@ type server struct {
// Version returns the server version
func Version() util.JSONResponse {
- return util.JSONResponse{Code: http.StatusOK, JSON: &version{server{"dev", "Dendrite"}}}
+ return util.JSONResponse{
+ Code: http.StatusOK,
+ JSON: &version{
+ server{
+ Name: "Dendrite",
+ Version: internal.VersionString(),
+ },
+ },
+ }
}
diff --git a/internal/setup/base.go b/internal/setup/base.go
index 7bf06e74..ec2bbc4c 100644
--- a/internal/setup/base.go
+++ b/internal/setup/base.go
@@ -100,6 +100,8 @@ func NewBaseDendrite(cfg *config.Dendrite, componentName string, useHTTPAPIs boo
internal.SetupHookLogging(cfg.Logging, componentName)
internal.SetupPprof()
+ logrus.Infof("Dendrite version %s", internal.VersionString())
+
closer, err := cfg.SetupTracing("Dendrite" + componentName)
if err != nil {
logrus.WithError(err).Panicf("failed to start opentracing")
diff --git a/internal/version.go b/internal/version.go
new file mode 100644
index 00000000..851a0938
--- /dev/null
+++ b/internal/version.go
@@ -0,0 +1,26 @@
+package internal
+
+import "fmt"
+
+// -ldflags "-X github.com/matrix-org/dendrite/internal.branch=master"
+var branch string
+
+// -ldflags "-X github.com/matrix-org/dendrite/internal.build=alpha"
+var build string
+
+const (
+ VersionMajor = 0
+ VersionMinor = 0
+ VersionPatch = 0
+)
+
+func VersionString() string {
+ version := fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch)
+ if branch != "" {
+ version += fmt.Sprintf("-%s", branch)
+ }
+ if build != "" {
+ version += fmt.Sprintf("+%s", build)
+ }
+ return version
+}