Merge pull request #3317 from fjl/build-unstable-simplify

build, internal/build: simplify unstable build checks
This commit is contained in:
Péter Szilágyi 2016-11-23 12:24:28 +02:00 committed by GitHub
commit e05d35e6e0
4 changed files with 15 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -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())