diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 194cd2afe052..df23c3d87a62 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -68,7 +68,7 @@ jobs: uses: actions/checkout@v2 - name: Build id: build - run: go build -o ${{ matrix.ARTIFACT }} + run: go build -o ${{ matrix.ARTIFACT }} -ldflags="-X 'main.version= ${{ needs.release.outputs.version }}'" env: GOARCH: "amd64" - name: Hash diff --git a/main.go b/main.go index d67a640a2bc4..2a3e53709fc6 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,8 @@ import ( "fmt" ) +var currentVersion = "development" + type args struct { ErrorCode *int PrintConfig *bool @@ -14,6 +16,7 @@ type args struct { Config *string Shell *string PWD *string + Version *bool Debug *bool } @@ -43,6 +46,10 @@ func main() { "pwd", "", "the path you are working in"), + Version: flag.Bool( + "version", + false, + "Print the current version of the binary"), Debug: flag.Bool( "debug", false, @@ -62,6 +69,10 @@ func main() { fmt.Println(env.getShellName()) return } + if *args.Version { + fmt.Println(currentVersion) + return + } colorWriter := &Renderer{ Buffer: new(bytes.Buffer), }