Commit e6f34e10 authored by Eric Chiang's avatar Eric Chiang

*: determine version from git

parent b8e80ffa
PROJ="poke"
ORG_PATH="github.com/coreos"
REPO_PATH="$(ORG_PATH)/$(PROJ)"
PROJ=poke
ORG_PATH=github.com/coreos
REPO_PATH=$(ORG_PATH)/$(PROJ)
export PATH := $(PWD)/bin:$(PATH)
export GOBIN=$(PWD)/bin
export GO15VENDOREXPERIMENT=1
export CGO_ENABLED:=0
LD_FLAGS="-w -X $(REPO_PATH)/version.Version=$(shell ./scripts/git-version)"
GOOS=$(shell go env GOOS)
GOARCH=$(shell go env GOARCH)
COMMIT=$(shell git rev-parse HEAD)
# check if the current commit has a matching tag
TAG=$(shell git describe --exact-match --abbrev=0 --tags $(COMMIT) 2> /dev/null || true)
ifeq ($(TAG),)
VERSION=$(TAG)
else
VERSION=$(COMMIT)
endif
build: bin/poke bin/example-app
bin/poke: FORCE
@go install $(REPO_PATH)/cmd/poke
@go install -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/poke
bin/example-app: FORCE
@go install $(REPO_PATH)/cmd/example-app
@go install -ldflags $(LD_FLAGS) $(REPO_PATH)/cmd/example-app
test:
@go test $(shell go list ./... | grep -v '/vendor/')
......
......@@ -10,9 +10,12 @@ import (
func commandVersion() *cobra.Command {
return &cobra.Command{
Use: "version",
Use: "version",
Short: "Print the version and exit",
Run: func(cmd *cobra.Command, args []string) {
fmt.Printf(`v%s %s %s %s
fmt.Printf(`dex Version:%s
Go Version: %s
Go OS/ARCH: %s %s
`, version.Version, runtime.Version(), runtime.GOOS, runtime.GOARCH)
},
}
......
#!/bin/bash -e
# parse the current git commit hash
COMMIT=`git rev-parse HEAD`
# check if the current commit has a matching tag
TAG=$(git describe --exact-match --abbrev=0 --tags ${COMMIT} 2> /dev/null || true)
# use the matching tag as the version, if available
if [ -z "$TAG" ]; then
VERSION=$COMMIT
else
VERSION=$TAG
fi
# check for changed files (not untracked files)
if [ -n "$(git diff --shortstat 2> /dev/null | tail -n1)" ]; then
VERSION="${VERSION}-dirty"
fi
echo $VERSION
\ No newline at end of file
// Package version contains version information for this app.
package version
// Version is the semantic version of the server.
const Version = "0.1.0"
// Version is set by the build scripts.
var Version = "was not built properly"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment