diff --git a/appveyor.yml b/appveyor.yml index 03ffdca9d..dbdda9b6c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,19 +22,18 @@ environment: install: - rmdir C:\go /s /q - - appveyor DownloadFile https://storage.googleapis.com/golang/go1.7.3.windows-amd64.zip - - 7z x go1.7.3.windows-amd64.zip -y -oC:\ > NUL + - appveyor DownloadFile https://storage.googleapis.com/golang/go1.7.3.windows-%GETH_ARCH%.zip + - 7z x go1.7.3.windows-%GETH_ARCH%.zip -y -oC:\ > NUL - go version - gcc --version build_script: - - go run build\ci.go install -arch %GETH_ARCH% + - go run build\ci.go install after_build: - - go run build\ci.go archive -arch %GETH_ARCH% -type zip -signer WINDOWS_SIGNING_KEY -upload gethstore/builds - - go run build\ci.go nsis -arch %GETH_ARCH% -signer WINDOWS_SIGNING_KEY -upload gethstore/builds + - go run build\ci.go archive -type zip -signer WINDOWS_SIGNING_KEY -upload gethstore/builds + - go run build\ci.go nsis -signer WINDOWS_SIGNING_KEY -upload gethstore/builds test_script: - - set GOARCH=%GETH_ARCH% - set CGO_ENABLED=1 - go run build\ci.go test -vet -coverage diff --git a/build/ci.go b/build/ci.go index dbf188350..59f4acc02 100644 --- a/build/ci.go +++ b/build/ci.go @@ -459,7 +459,7 @@ func makeWorkdir(wdflag string) string { } func isUnstableBuild(env build.Environment) bool { - if env.Branch != "master" && env.Tag != "" { + if env.Tag != "" { return false } return true diff --git a/internal/build/env.go b/internal/build/env.go index cd3355092..95281df86 100644 --- a/internal/build/env.go +++ b/internal/build/env.go @@ -88,8 +88,9 @@ func LocalEnv() Environment { env.Branch = b } } - // Note that we don't get the current git tag. It would slow down - // builds and isn't used by anything. + if env.Tag == "" { + env.Tag = RunGit("for-each-ref", "--points-at=HEAD", "--count=1", "--format=%(refname:short)", "refs/tags") + } return env } diff --git a/internal/build/util.go b/internal/build/util.go index c7e0614f2..1523a067b 100644 --- a/internal/build/util.go +++ b/internal/build/util.go @@ -76,6 +76,8 @@ func VERSION() string { return string(bytes.TrimSpace(version)) } +var warnedAboutGit bool + // RunGit runs a git subcommand and returns its output. // The command must complete successfully. func RunGit(args ...string) string { @@ -83,7 +85,10 @@ func RunGit(args ...string) string { var stdout, stderr bytes.Buffer cmd.Stdout, cmd.Stderr = &stdout, &stderr if err := cmd.Run(); err == exec.ErrNotFound { - log.Println("no git in PATH") + if !warnedAboutGit { + log.Println("Warning: can't find 'git' in PATH") + warnedAboutGit = true + } return "" } else if err != nil { log.Fatal(strings.Join(cmd.Args, " "), ": ", err, "\n", stderr.String())