From 2de3732d299e9fda5bc9b30fa60414c93eb6a29f Mon Sep 17 00:00:00 2001 From: "Aeneas Rekkas (arekkas)" Date: Mon, 29 Aug 2016 10:42:27 +0200 Subject: [PATCH 1/2] * core: figure out a process to autobuild releases - closes #210 * cmd: add version command - closes #218 --- .gitignore | 3 ++- .travis.yml | 28 ++++++++++++++++++++++++++-- cmd/version.go | 29 +++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 cmd/version.go diff --git a/.gitignore b/.gitignore index 3293b120f4c..23707a1cf4e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ vendor/ .hydra.yml cover.out output/ -_book/ \ No newline at end of file +_book/ +dist/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 2731bfbfb53..6368f948b14 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ go: - 1.7 install: - - go get github.com/mattn/goveralls golang.org/x/tools/cmd/cover github.com/pierrre/gotestcover github.com/Masterminds/glide + - go get github.com/mattn/goveralls golang.org/x/tools/cmd/cover github.com/pierrre/gotestcover github.com/Masterminds/glide github.com/mitchellh/gox github.com/tcnksm/ghr - git clone https://github.com/docker-library/official-images.git ~/official-images - glide install - go install github.com/ory-am/hydra @@ -28,4 +28,28 @@ script: - docker run -d hydra-travis-ci - $GOPATH/bin/hydra host --dangerous-auto-logon & - while ! echo exit | nc localhost 4444; do sleep 1; done - - $GOPATH/bin/hydra token client --skip-tls-verify \ No newline at end of file + - $GOPATH/bin/hydra token client --skip-tls-verify + +after_success: + - gox -ldflags "-s \ + -X main.Version=`git describe --tags` \ + -X main.BuildTime=`TZ=UTC date -u '+%Y-%m-%dT%H:%M:%SZ'` \ + -X main.GitHash=`git rev-parse HEAD`" -output "dist/{{.Dir}}-{{.OS}}-{{.Arch}}" + # - ghr --username arekkas --token $GITHUB_TOKEN --replace --prerelease --debug pre-release dist/ + +deploy: + provider: releases + api_key: $GITHUB_TOKEN + file: + - dist/hydra-darwin-386 + - dist/hydra-darwin-amd64 + - dist/hydra-freebsd-386 + - dist/hydra-freebsd-amd64 + - dist/hydra-linux-arm + - dist/hydra-netbsd-arm + - dist/hydra-openbsd-386 + - dist/hydra-windows-amd64.exe + skip_cleanup: true + on: + tags: true + go: 1.7 diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 00000000000..0699c9ebf2b --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,29 @@ +package cmd + +import ( + "fmt" + + "github.com/spf13/cobra" + "time" +) + +var ( + Version = "dev-master" + BuildTime = time.Now().String() + GitHash = "undefined" +) + +// versionCmd represents the version command +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Display this binary's version, build time and git hash of this build", + Run: func(cmd *cobra.Command, args []string) { + fmt.Printf("Version: %s\n", Version) + fmt.Printf("Git Hash: %s\n", GitHash) + fmt.Printf("Build Time: %s\n", BuildTime) + }, +} + +func init() { + RootCmd.AddCommand(versionCmd) +} From 042e5318a487979b0252881e84d5ed310c23477e Mon Sep 17 00:00:00 2001 From: "Aeneas Rekkas (arekkas)" Date: Mon, 29 Aug 2016 11:14:28 +0200 Subject: [PATCH 2/2] prevent tests from failing --- cmd/root_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/root_test.go b/cmd/root_test.go index c4ce3053d18..0565b26a247 100644 --- a/cmd/root_test.go +++ b/cmd/root_test.go @@ -38,9 +38,9 @@ func TestExecute(t *testing.T) { {args: []string{"clients", "create", "--id", "foobarbaz"}}, {args: []string{"clients", "create", "--id", "foobarbaz", "--dry"}}, {args: []string{"clients", "delete", "foobarbaz"}}, - {args: []string{"keys", "create", "foo", "-a", "RS256"}}, - {args: []string{"keys", "create", "foo", "-a", "RS256", "--dry"}}, - {args: []string{"keys", "create", "foo", "-a", "ES521"}}, + {args: []string{"keys", "create", "foo", "-a", "HS256"}}, + {args: []string{"keys", "create", "foo", "-a", "HS256", "--dry"}}, + {args: []string{"keys", "create", "foo", "-a", "HS256"}}, {args: []string{"keys", "get", "foo"}}, {args: []string{"keys", "delete", "foo"}}, {args: []string{"connections", "create", "google", "localuser", "googleuser"}},