include version and commit hash at compile time

when using makefile, version is set to "git". Currently  printed on
start, but an about page in the web UI will be added.
pull/20/head
Harvey Tindall 4 years ago
parent 6e3d5dac19
commit 1b0ca34586
No known key found for this signature in database
GPG Key ID: BBC65952848FB1A2

1
.gitignore vendored

@ -13,3 +13,4 @@ jfa-go
build/
pkg/
old/
version.go

@ -16,6 +16,7 @@ before:
- python3 scss/get_node_deps.py
- python3 scss/compile.py -y
- python3 mail/generate.py -y
- python3 version.py {{.Version}} version.go
builds:
- dir: ./
env:

@ -28,6 +28,9 @@ mail:
echo "Generating email html"
python3 mail/generate.py
version:
python3 version.py git version.go
compile:
echo "Downloading deps"
go mod download
@ -42,8 +45,8 @@ copy:
install:
cp -r build $(DESTDIR)/jfa-go
all: configuration sass mail compile copy
headless: configuration sass-headless mail-headless copy
all: configuration sass mail version compile copy
headless: configuration sass-headless mail-headless version compile copy

@ -95,6 +95,7 @@ func setGinLogger(router *gin.Engine, debugMode bool) {
}
func main() {
fmt.Printf("jfa-go version: %s (%s)\n", VERSION, COMMIT)
// app encompasses essentially all useful functions.
app := new(appContext)

@ -0,0 +1,20 @@
import subprocess
import sys
import os
try:
version = sys.argv[1].replace('v', '')
except IndexError:
version = "git"
commit = subprocess.check_output("git rev-parse --short HEAD".split()).decode("utf-8").rstrip()
file = f'package main; const VERSION = "{version}"; const COMMIT = "{commit}";'
try:
writeto = sys.argv[2]
except IndexError:
writeto = "version.go"
with open(writeto, 'w') as f:
f.write(file)
Loading…
Cancel
Save