diff --git a/.drone.yml b/.drone.yml index 5f172ed..70dbf08 100644 --- a/.drone.yml +++ b/.drone.yml @@ -18,6 +18,8 @@ steps: from_secret: BUILDRONE_KEY GITHUB_TOKEN: from_secret: github_token + JFA_GO_BUILT_BY: + from_secret: BUILT_BY commands: - curl -sL https://git.io/goreleaser > ../goreleaser - chmod +x ../goreleaser diff --git a/.goreleaser.yml b/.goreleaser.yml index 79395c4..e2e3497 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -33,7 +33,7 @@ before: - npx esbuild --target=es6 --bundle tempts/setup.ts --outfile=./data/web/js/setup.js --minify - npx esbuild --target=es6 --bundle tempts/crash.ts --outfile=./data/crash.js --minify - rm -r tempts - - npx esbuild --bundle css/base.css --outfile=./data/web/css/bundle.css --external:remixicon.css --minify + - npx esbuild --bundle css/base.css --outfile=./data/web/css/bundle.css --external:remixicon.css --external:../fonts/hanken* --minify - cp html/crash.html data/ - npx tailwindcss -i data/web/css/bundle.css -o data/bundle.css --content "html/crash.html" - node scripts/inline.js root data data/crash.html data/crash.html @@ -49,7 +49,7 @@ builds: env: - CGO_ENABLED=0 ldflags: - - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} -X main.buildTimeUnix={{.Env.JFA_GO_BUILD_TIME}} + - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} -X main.buildTimeUnix={{.Env.JFA_GO_BUILD_TIME}} -X main.builtBy="{{.Env.JFA_GO_BUILT_BY}}" goos: - linux - darwin @@ -66,7 +66,7 @@ builds: flags: - -tags=tray ldflags: - - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} -H=windowsgui + - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} -X main.buildTimeUnix={{.Env.JFA_GO_BUILD_TIME}} -X main.builtBy="{{.Env.JFA_GO_BUILT_BY}}" -H=windowsgui goos: - windows goarch: @@ -78,7 +78,7 @@ builds: flags: - -tags=tray ldflags: - - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} + - -s -w -X main.version={{.Env.JFA_GO_VERSION}} -X main.commit={{.ShortCommit}} -X main.updater=binary -X main.cssVersion={{.Env.JFA_GO_CSS_VERSION}} -X main.buildTimeUnix={{.Env.JFA_GO_BUILD_TIME}} -X main.builtBy="{{.Env.JFA_GO_BUILT_BY}}" goos: - linux goarch: diff --git a/html/admin.html b/html/admin.html index 0859367..0d0f7a5 100644 --- a/html/admin.html +++ b/html/admin.html @@ -41,6 +41,8 @@ ×

{{ .strings.version }} {{ .version }}

{{ .strings.commitNoun }} {{ .commit }}

+

{{ .strings.buildTime }} {{ .buildTime }}

+

{{ .strings.builtBy }} {{ .builtBy }}

github wiki/docs diff --git a/lang/admin/en-us.json b/lang/admin/en-us.json index 9bc51e1..3ff043e 100644 --- a/lang/admin/en-us.json +++ b/lang/admin/en-us.json @@ -115,7 +115,9 @@ "matchText": "Match Text", "jellyfinID": "Jellyfin ID", "userPageLogin": "User Page: Login", - "userPagePage": "User Page: Page" + "userPagePage": "User Page: Page", + "buildTime": "Build Time", + "builtBy": "Built By" }, "notifications": { "changedEmailAddress": "Changed email address of {n}.", diff --git a/main.go b/main.go index 79643cd..ef5b1c1 100644 --- a/main.go +++ b/main.go @@ -53,6 +53,8 @@ var ( white = color.New(color.FgWhite).SprintfFunc() version string commit string + buildTimeUnix string + builtBy string ) var temp = func() string { diff --git a/scripts/version.sh b/scripts/version.sh index 366f205..8407489 100755 --- a/scripts/version.sh +++ b/scripts/version.sh @@ -1,5 +1,7 @@ #!/bin/bash # sets version environment variable for goreleaser to use # scripts/version.sh goreleaser ... + + JFA_GO_VERSION=$(git describe --exact-match HEAD 2> /dev/null || echo 'vgit') -JFA_GO_CSS_VERSION="v3" JFA_GO_NFPM_EPOCH=$(git rev-list --all --count) JFA_GO_BUILD_TIME=$(date +%s) JFA_GO_VERSION="$(echo $JFA_GO_VERSION | sed 's/v//g')" $@ +JFA_GO_CSS_VERSION="v3" JFA_GO_NFPM_EPOCH=$(git rev-list --all --count) JFA_GO_BUILD_TIME=$(date +%s) JFA_GO_BUILT_BY=${JFA_GO_BUILT_BY:-"???"} JFA_GO_VERSION="$(echo $JFA_GO_VERSION | sed 's/v//g')" $@ diff --git a/updater.go b/updater.go index 37979fd..f8a67e9 100644 --- a/updater.go +++ b/updater.go @@ -25,7 +25,6 @@ const ( repo = "jfa-go" ) -var buildTimeUnix string var buildTime time.Time = func() time.Time { i, _ := strconv.ParseInt(buildTimeUnix, 10, 64) return time.Unix(i, 0) diff --git a/views.go b/views.go index a83b91e..b9df9a3 100644 --- a/views.go +++ b/views.go @@ -143,6 +143,10 @@ func (app *appContext) AdminPage(gc *gin.Context) { license += "---Hanken Grotesk---\n\n" license += string(fontLicense) + if builtBy == "" { + builtBy = "???" + } + gcHTML(gc, http.StatusOK, "admin.html", gin.H{ "urlBase": app.getURLBase(gc), "cssClass": app.cssClass, @@ -157,6 +161,8 @@ func (app *appContext) AdminPage(gc *gin.Context) { "notifications": notificationsEnabled, "version": version, "commit": commit, + "buildTime": buildTime, + "builtBy": builtBy, "username": !app.config.Section("email").Key("no_username").MustBool(false), "strings": app.storage.lang.Admin[lang].Strings, "quantityStrings": app.storage.lang.Admin[lang].QuantityStrings,