diff options
Diffstat (limited to 'misc/dashboard/builder/main.go')
-rw-r--r-- | misc/dashboard/builder/main.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/misc/dashboard/builder/main.go b/misc/dashboard/builder/main.go index b2b8f43a6..9a155bd0c 100644 --- a/misc/dashboard/builder/main.go +++ b/misc/dashboard/builder/main.go @@ -33,10 +33,9 @@ const ( var extraEnv = []string{ "CC", "GOARM", - "GOHOSTARCH", - "GOHOSTOS", "PATH", "TMPDIR", + "USER", } type Builder struct { @@ -64,6 +63,7 @@ var ( binaryTagRe = regexp.MustCompile(`^(release\.r|weekly\.)[0-9\-.]+`) releaseRe = regexp.MustCompile(`^release\.r[0-9\-.]+`) allCmd = "all" + suffix + raceCmd = "race" + suffix cleanCmd = "clean" + suffix suffix = defaultSuffix() ) @@ -211,6 +211,16 @@ func NewBuilder(goroot *Repo, name string) (*Builder, error) { return b, nil } +// buildCmd returns the build command to invoke. +// Builders which contain the string '-race' in their +// name will override *buildCmd and return raceCmd. +func (b *Builder) buildCmd() string { + if strings.Contains(b.name, "-race") { + return raceCmd + } + return *buildCmd +} + // build checks for a new commit for this builder // and builds it if one is found. // It returns true if a build was attempted. @@ -262,7 +272,7 @@ func (b *Builder) buildHash(hash string) error { defer f.Close() w := io.MultiWriter(f, &buildlog) - cmd := *buildCmd + cmd := b.buildCmd() if !filepath.IsAbs(cmd) { cmd = filepath.Join(srcDir, cmd) } @@ -397,7 +407,9 @@ func (b *Builder) envv() []string { } e := []string{ "GOOS=" + b.goos, + "GOHOSTOS=" + b.goos, "GOARCH=" + b.goarch, + "GOHOSTARCH=" + b.goarch, "GOROOT_FINAL=/usr/local/go", } for _, k := range extraEnv { @@ -412,7 +424,9 @@ func (b *Builder) envv() []string { func (b *Builder) envvWindows() []string { start := map[string]string{ "GOOS": b.goos, + "GOHOSTOS": b.goos, "GOARCH": b.goarch, + "GOHOSTARCH": b.goarch, "GOROOT_FINAL": `c:\go`, "GOBUILDEXIT": "1", // exit all.bat with completion status. } |