diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 778305d..2e0f6e0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,10 +26,10 @@ jobs: mkdir -p build/windows-amd64 mkdir -p build/mac-amd64 mkdir -p build/mac-arm64 - GOOS=linux GOARCH=amd64 go build -o build/linux-amd64/gristctl . - GOOS=darwin GOARCH=amd64 go build -o build/mac-amd64/gristctl . - GOOS=darwin GOARCH=arm64 go build -o build/mac-arm64/gristctl . - GOOS=windows GOARCH=amd64 go build -o build/windows-amd64/gristctl.exe . + GOOS=linux GOARCH=amd64 go build -o build/linux-amd64/gristctl -ldflags="-X main.version=${GITHUB_REF#refs/tags/}". + GOOS=darwin GOARCH=amd64 go build -o build/mac-amd64/gristctl -ldflags="-X main.version=${GITHUB_REF#refs/tags/}". + GOOS=darwin GOARCH=arm64 go build -o build/mac-arm64/gristctl -ldflags="-X main.version=${GITHUB_REF#refs/tags/}". + GOOS=windows GOARCH=amd64 go build -o build/windows-amd64/gristctl.exe -ldflags="-X main.version=${GITHUB_REF#refs/tags/}". zip -r exec_files.zip build/* tar -cv build/* | gzip > exec_files.tar.gz - name: Archive exec file diff --git a/gristtools/gristtools.go b/gristtools/gristtools.go index ffcd5b6..57d26d4 100644 --- a/gristtools/gristtools.go +++ b/gristtools/gristtools.go @@ -41,10 +41,16 @@ func Help() { - purge doc []: purges document history (retains last 3 operations by default) - delete doc : delete a document - delete user : delete a user -- delete workspace : delete a workspace`) +- delete workspace : delete a workspace +- version : displays the version of the program`) os.Exit(0) } +// Displays the version of the program +func Version(version string) { + fmt.Println("Version : ", version) +} + /* Configure Grist envfile (url and api token) Interactive filling the `.gristctl` file diff --git a/main.go b/main.go index 23ae537..c444e40 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,8 @@ import ( "gristctl/gristtools" ) +var version = "Undefined" + func main() { args := os.Args[1:] if len(args) < 1 { @@ -23,6 +25,8 @@ func main() { switch arg1 := args[0]; arg1 { case "config": gristtools.Config() + case "version": + gristtools.Version(version) case "get": { if len(args) > 1 {