summaryrefslogtreecommitdiff
path: root/misc/dashboard/builder/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc/dashboard/builder/main.go')
-rw-r--r--misc/dashboard/builder/main.go20
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.
}