From acc007bd356427293871d9a09fba8af5ce9d006b Mon Sep 17 00:00:00 2001 From: Kamal Nasser Date: Thu, 21 Feb 2019 01:14:24 +0200 Subject: [PATCH] Add version command and tag major-version-latest docker images --- .goreleaser.yml | 16 ++++++++++------ cmd/version.go | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 cmd/version.go diff --git a/.goreleaser.yml b/.goreleaser.yml index ec02565..a624636 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -1,6 +1,9 @@ builds: -- env: - - CGO_ENABLED=0 + - binary: klein + env: + - CGO_ENABLED=0 + ldflags: + - -s -w -X "github.com/kamaln7/klein/cmd.Version={{.Version}}" archive: replacements: darwin: Darwin @@ -9,19 +12,20 @@ archive: 386: i386 amd64: x86_64 checksum: - name_template: 'checksums.txt' + name_template: "checksums.txt" snapshot: - name_template: "{{ .Tag }}-next" + name_template: "{{ .Version }}-next" changelog: sort: asc filters: exclude: - - '^docs:' - - '^test:' + - "^docs:" + - "^test:" dockers: - dockerfile: Dockerfile-goreleaser extra_files: - 404.html image_templates: - "kamaln7/klein:{{ .Version }}" + - "kamaln7/klein:{{ .Major }}-latest" - kamaln7/klein:latest diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 0000000..dcb0050 --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,24 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func init() { + rootCmd.AddCommand(versionCmd) +} + +// Version is the klein package version +// to be filled in at compile time using ldflags +var Version = "-dev" + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "print the version number of klein", + Long: "print the version number of klein", + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("klein v%s\n", Version) + }, +}