From cbb9028c136cae238727cf460229d8b8bdb0d10a Mon Sep 17 00:00:00 2001 From: Michele Degges Date: Wed, 15 Dec 2021 14:06:52 -0800 Subject: [PATCH] Add vault revision to --version cmd (#13447) --- .github/workflows/build.yml | 7 ++++--- Makefile | 2 +- sdk/version/version.go | 10 +++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3fe79a64489f..1341b76cea42 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,6 +23,7 @@ jobs: run: | make version echo "::set-output name=product-version::$(make version)" + generate-metadata-file: needs: get-product-version runs-on: ubuntu-latest @@ -105,7 +106,7 @@ jobs: CGO_ENABLED: 0 run: | mkdir dist out - VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_COMMIT=${GITHUB_SHA} GO_TAGS="${{ env.GO_TAGS }}" make build + GO_TAGS="${{ env.GO_TAGS }}" VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_REVISION="$(git rev-parse HEAD)" make build zip -r -j out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip dist/ - uses: actions/upload-artifact@v2 with: @@ -168,7 +169,7 @@ jobs: CGO_ENABLED: 0 run: | mkdir dist out - VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_COMMIT=${GITHUB_SHA} GO_TAGS="${{ env.GO_TAGS }}" make build + GO_TAGS="${{ env.GO_TAGS }}" VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_REVISION="$(git rev-parse HEAD)" make build zip -r -j out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip dist/ - uses: actions/upload-artifact@v2 with: @@ -260,7 +261,7 @@ jobs: CGO_ENABLED: 0 run: | mkdir dist out - VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_COMMIT=${GITHUB_SHA} GO_TAGS="${{ env.GO_TAGS }}" make build + GO_TAGS="${{ env.GO_TAGS }}" VAULT_VERSION=${{ needs.get-product-version.outputs.product-version }} VAULT_REVISION="$(git rev-parse HEAD)" make build zip -r -j out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip dist/ - uses: actions/upload-artifact@v2 with: diff --git a/Makefile b/Makefile index e0626d30eb64..600ed9f5a24d 100644 --- a/Makefile +++ b/Makefile @@ -259,7 +259,7 @@ ci-verify: # This is used for release builds by .github/workflows/build.yml build: @echo "--> Building Vault $(VAULT_VERSION)" - @go build -v -tags "$(GO_TAGS)" -ldflags " -X $VERSION_PKG_PATH.Version=$(VAULT_VERSION) -X $VERSION_PKG_PATH.GitCommit=$(VAULT_COMMIT)" -o dist/ + @go build -v -tags "$(GO_TAGS)" -ldflags " -X github.com/hashicorp/vault/sdk/version.Version=$(VAULT_VERSION) -X github.com/hashicorp/vault/sdk/version.GitCommit=$(VAULT_REVISION)" -o dist/ .PHONY: version # This is used for release builds by .github/workflows/build.yml diff --git a/sdk/version/version.go b/sdk/version/version.go index e0db36e8f057..1a4521ae615a 100644 --- a/sdk/version/version.go +++ b/sdk/version/version.go @@ -7,10 +7,10 @@ import ( // VersionInfo type VersionInfo struct { - Revision string - Version string - VersionPrerelease string - VersionMetadata string + Revision string `json:"revision,omitempty"` + Version string `json:"version,omitempty"` + VersionPrerelease string `json:"version_prerelease,omitempty"` + VersionMetadata string `json:"version_metadata,omitempty"` } func GetVersion() *VersionInfo { @@ -37,7 +37,7 @@ func (c *VersionInfo) VersionNumber() string { return "(version unknown)" } - version := fmt.Sprintf("%s", c.Version) + version := c.Version if c.VersionPrerelease != "" { version = fmt.Sprintf("%s-%s", version, c.VersionPrerelease)