Răsfoiți Sursa

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

build, internal/build: simplify unstable build checks
Péter Szilágyi 9 ani în urmă
părinte
comite
e05d35e6e0
4 a modificat fișierele cu 15 adăugiri și 10 ștergeri
  1. 5 6
      appveyor.yml
  2. 1 1
      build/ci.go
  3. 3 2
      internal/build/env.go
  4. 6 1
      internal/build/util.go

+ 5 - 6
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

+ 1 - 1
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

+ 3 - 2
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
 }
 

+ 6 - 1
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())