2015-01-15 23:46:22 +03:00
|
|
|
// Copyright 2015 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
// Package dashboard contains shared configuration and logic used by various
|
|
|
|
// pieces of the Go continuous build system.
|
|
|
|
package dashboard
|
|
|
|
|
2015-06-05 04:25:50 +03:00
|
|
|
import (
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"fmt"
|
2017-04-12 03:35:37 +03:00
|
|
|
"sort"
|
2015-06-05 04:25:50 +03:00
|
|
|
"strconv"
|
|
|
|
"strings"
|
2016-02-15 02:59:59 +03:00
|
|
|
|
|
|
|
"golang.org/x/build/buildenv"
|
2015-06-05 04:25:50 +03:00
|
|
|
)
|
2015-01-15 23:46:22 +03:00
|
|
|
|
|
|
|
// Builders are the different build configurations.
|
|
|
|
// The keys are like "darwin-amd64" or "linux-386-387".
|
|
|
|
// This map should not be modified by other packages.
|
2017-04-12 03:35:37 +03:00
|
|
|
// Initialization happens below, via calls to addBuilder.
|
2015-01-15 23:46:22 +03:00
|
|
|
var Builders = map[string]BuildConfig{}
|
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
// Hosts contains the names and configs of all the types of
|
|
|
|
// buildlets. They can be VMs, containers, or dedicated machines.
|
|
|
|
var Hosts = map[string]*HostConfig{
|
|
|
|
"host-linux-kubestd": &HostConfig{
|
|
|
|
Notes: "Kubernetes container on GKE.",
|
2016-10-12 17:59:20 +03:00
|
|
|
KubeImage: "linux-x86-std-kube:latest",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
2016-09-23 23:44:43 +03:00
|
|
|
"host-linux-armhf-cross": &HostConfig{
|
|
|
|
Notes: "Kubernetes container on GKE built from env/crosscompile/linux-armhf-jessie",
|
|
|
|
KubeImage: "linux-armhf-jessie:latest",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
2017-03-23 18:46:39 +03:00
|
|
|
"host-linux-armel-cross": &HostConfig{
|
|
|
|
Notes: "Kubernetes container on GKE built from env/crosscompile/linux-armel-stretch",
|
|
|
|
KubeImage: "linux-armel-stretch:latest",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
2016-09-23 23:44:43 +03:00
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-nacl-kube": &HostConfig{
|
|
|
|
Notes: "Kubernetes container on GKE.",
|
|
|
|
KubeImage: "linux-x86-nacl:latest",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
|
|
|
"host-s390x-cross-kube": &HostConfig{
|
|
|
|
Notes: "Kubernetes container on GKE.",
|
|
|
|
KubeImage: "linux-s390x-stretch:latest",
|
|
|
|
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
2016-12-02 22:14:12 +03:00
|
|
|
"host-linux-x86-alpine": &HostConfig{
|
|
|
|
Notes: "Kubernetes alpine container on GKE.",
|
|
|
|
KubeImage: "linux-x86-alpine:latest",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64-static",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"},
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-linux-clang": &HostConfig{
|
2017-04-12 20:06:04 +03:00
|
|
|
Notes: "Kubernetes container on GKE with clang.",
|
|
|
|
KubeImage: "linux-x86-clang:latest",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
|
|
|
"host-linux-sid": &HostConfig{
|
2017-04-12 04:54:09 +03:00
|
|
|
Notes: "Debian sid, updated occasionally.",
|
2017-04-12 20:06:04 +03:00
|
|
|
KubeImage: "linux-x86-sid:latest",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
|
|
|
|
},
|
2017-05-22 23:17:48 +03:00
|
|
|
"host-linux-arm-scaleway": &HostConfig{
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 50,
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
|
2017-05-18 00:28:46 +03:00
|
|
|
ReverseAliases: []string{"linux-arm", "linux-arm-arm5"},
|
2017-05-22 23:17:48 +03:00
|
|
|
},
|
2017-03-22 23:53:27 +03:00
|
|
|
"host-linux-arm5spacemonkey": &HostConfig{
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 3,
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
|
|
|
|
ReverseAliases: []string{"linux-arm-arm5spacemonkey"},
|
2017-04-25 02:07:45 +03:00
|
|
|
OwnerGithub: "zeebo",
|
2017-03-22 23:53:27 +03:00
|
|
|
},
|
2016-12-10 22:10:49 +03:00
|
|
|
"host-openbsd-amd64-60": &HostConfig{
|
|
|
|
VMImage: "openbsd-amd64-60",
|
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-60.tar.gz",
|
|
|
|
Notes: "OpenBSD 6.0; GCE VM is built from script in build/env/openbsd-amd64",
|
|
|
|
},
|
2016-12-15 01:41:25 +03:00
|
|
|
"host-openbsd-386-60": &HostConfig{
|
|
|
|
VMImage: "openbsd-386-60",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386",
|
2016-12-15 01:41:25 +03:00
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-60.tar.gz",
|
|
|
|
Notes: "OpenBSD 6.0; GCE VM is built from script in build/env/openbsd-386",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
},
|
|
|
|
"host-freebsd-93-gce": &HostConfig{
|
|
|
|
VMImage: "freebsd-amd64-gce93",
|
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
|
|
|
|
},
|
|
|
|
"host-freebsd-101-gce": &HostConfig{
|
|
|
|
VMImage: "freebsd-amd64-gce101",
|
|
|
|
Notes: "FreeBSD 10.1; GCE VM is built from script in build/env/freebsd-amd64",
|
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", // TODO(bradfitz): why was this http instead of https?
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
|
|
|
|
env: []string{"CC=clang"},
|
|
|
|
},
|
2017-02-27 19:05:25 +03:00
|
|
|
"host-freebsd-110": &HostConfig{
|
|
|
|
VMImage: "freebsd-amd64-110",
|
|
|
|
Notes: "FreeBSD 11.0; GCE VM is built from script in build/env/freebsd-amd64",
|
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64", // TODO(bradfitz): why was this http instead of https?
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
|
|
|
|
env: []string{"CC=clang"},
|
|
|
|
},
|
2017-07-14 19:50:26 +03:00
|
|
|
"host-netbsd-8branch": &HostConfig{
|
|
|
|
VMImage: "netbsd-amd64-8branch",
|
|
|
|
Notes: "NetBSD 8.? from the netbsd-8 branch; GCE VM is built from script in build/env/netbsd-amd64",
|
2017-04-07 01:16:28 +03:00
|
|
|
machineType: "n1-highcpu-2",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64.tar.gz",
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-plan9-386-gce": &HostConfig{
|
2016-10-18 16:25:38 +03:00
|
|
|
VMImage: "plan9-386-v4",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Notes: "Plan 9 from 0intro; GCE VM is built from script in build/env/plan9-386",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.plan9-386",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-plan9-386.tar.gz",
|
2015-01-15 23:46:22 +03:00
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
// We *were* using n1-standard-1 because Plan 9 can only
|
|
|
|
// reliably use a single CPU. Using 2 or 4 and we see
|
|
|
|
// test failures. See:
|
|
|
|
// https://golang.org/issue/8393
|
|
|
|
// https://golang.org/issue/9491
|
|
|
|
// n1-standard-1 has 3.6 GB of memory which WAS (see below)
|
|
|
|
// overkill (userspace probably only sees 2GB anyway),
|
|
|
|
// but it's the cheapest option. And plenty to keep
|
|
|
|
// our ~250 MB of inputs+outputs in its ramfs.
|
|
|
|
//
|
|
|
|
// But the docs says "For the n1 series of machine
|
|
|
|
// types, a virtual CPU is implemented as a single
|
|
|
|
// hyperthread on a 2.6GHz Intel Sandy Bridge Xeon or
|
|
|
|
// Intel Ivy Bridge Xeon (or newer) processor. This
|
|
|
|
// means that the n1-standard-2 machine type will see
|
|
|
|
// a whole physical core."
|
|
|
|
//
|
|
|
|
// ... so we used n1-highcpu-2 (1.80 RAM, still
|
|
|
|
// plenty), just so we can get 1 whole core for the
|
|
|
|
// single-core Plan 9. It will see 2 virtual cores and
|
|
|
|
// only use 1, but we hope that 1 will be more powerful
|
|
|
|
// and we'll stop timing out on tests.
|
|
|
|
machineType: "n1-highcpu-4",
|
2016-12-02 02:15:58 +03:00
|
|
|
env: []string{"GO_TEST_TIMEOUT_SCALE=2"},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
},
|
|
|
|
"host-windows-gce": &HostConfig{
|
|
|
|
VMImage: "windows-buildlet-v2",
|
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
|
|
|
|
RegularDisk: true,
|
|
|
|
},
|
2017-04-21 22:35:28 +03:00
|
|
|
"host-windows-amd64-2008": &HostConfig{
|
2017-07-25 03:46:27 +03:00
|
|
|
VMImage: "windows-amd64-server-2008r2-v3",
|
2017-04-21 22:35:28 +03:00
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
|
|
|
|
},
|
|
|
|
"host-windows-amd64-2012": &HostConfig{
|
2017-07-25 03:46:27 +03:00
|
|
|
VMImage: "windows-amd64-server-2012r2-v3",
|
2017-04-21 22:35:28 +03:00
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
|
|
|
|
},
|
|
|
|
"host-windows-amd64-2016": &HostConfig{
|
2017-07-25 03:46:27 +03:00
|
|
|
VMImage: "windows-amd64-server-2016-v3",
|
2017-04-21 22:35:28 +03:00
|
|
|
machineType: "n1-highcpu-4",
|
|
|
|
buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-darwin-10_8": &HostConfig{
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 1,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Notes: "MacStadium OS X 10.8 VM under VMWare ESXi",
|
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
|
|
|
|
},
|
|
|
|
ReverseAliases: []string{"darwin-amd64-10_8"},
|
|
|
|
},
|
|
|
|
"host-darwin-10_10": &HostConfig{
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 2,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Notes: "MacStadium OS X 10.10 VM under VMWare ESXi",
|
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
|
|
|
|
},
|
|
|
|
ReverseAliases: []string{"darwin-amd64-10_10"},
|
|
|
|
},
|
|
|
|
"host-darwin-10_11": &HostConfig{
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 15,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Notes: "MacStadium OS X 10.11 VM under VMWare ESXi",
|
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
|
|
|
|
},
|
|
|
|
ReverseAliases: []string{"darwin-amd64-10_11"},
|
|
|
|
},
|
2017-01-19 01:45:12 +03:00
|
|
|
"host-darwin-10_12": &HostConfig{
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 2,
|
2017-01-19 01:45:12 +03:00
|
|
|
Notes: "MacStadium OS X 10.12 VM under VMWare ESXi",
|
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
|
|
|
|
},
|
|
|
|
ReverseAliases: []string{"darwin-amd64-10_12"},
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-linux-s390x": &HostConfig{
|
|
|
|
Notes: "run by IBM",
|
2017-04-13 22:38:46 +03:00
|
|
|
OwnerGithub: "mundaym",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
IsReverse: true,
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"},
|
|
|
|
ReverseAliases: []string{"linux-s390x-ibm"},
|
|
|
|
},
|
2016-10-06 23:30:58 +03:00
|
|
|
"host-linux-ppc64-osu": &HostConfig{
|
|
|
|
Notes: "Debian jessie; run by Go team on osuosl.org",
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 5,
|
2016-10-06 23:30:58 +03:00
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
|
|
|
|
ReverseAliases: []string{"linux-ppc64-buildlet"},
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-linux-ppc64le-osu": &HostConfig{
|
|
|
|
Notes: "Debian jessie; run by Go team on osuosl.org",
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 5,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
|
|
|
|
ReverseAliases: []string{"linux-ppc64le-buildlet"},
|
|
|
|
},
|
|
|
|
"host-linux-arm64-linaro": &HostConfig{
|
2017-04-14 00:11:36 +03:00
|
|
|
Notes: "Ubuntu xenial; run by Go team, from linaro",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 5,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
|
|
|
|
ReverseAliases: []string{"linux-arm64-buildlet"},
|
|
|
|
},
|
2017-04-07 01:16:28 +03:00
|
|
|
"host-linux-arm64-packet": &HostConfig{
|
2017-04-12 00:06:22 +03:00
|
|
|
Notes: "On 96 core packet.net host (Xenial) in Docker containers (Jessie); run by Go team. See x/build/env/linux-arm64/packet",
|
2017-04-07 01:16:28 +03:00
|
|
|
IsReverse: true,
|
2017-04-12 00:06:22 +03:00
|
|
|
ExpectNum: 20,
|
2017-04-07 01:16:28 +03:00
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
"host-solaris-amd64": &HostConfig{
|
|
|
|
Notes: "run by Go team on Joyent, on a SmartOS 'infrastructure container'",
|
|
|
|
IsReverse: true,
|
2017-02-24 20:50:49 +03:00
|
|
|
ExpectNum: 5,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/root/go-solaris-amd64-bootstrap"},
|
|
|
|
ReverseAliases: []string{"solaris-amd64-smartosbuildlet"},
|
|
|
|
},
|
2017-07-07 23:41:20 +03:00
|
|
|
"host-solaris-oracle-amd64-oraclerel": &HostConfig{
|
|
|
|
Notes: "Oracle Solaris amd64 Release System",
|
|
|
|
Owner: "shawn.walker@oracle.com",
|
|
|
|
OwnerGithub: "binarycrusader",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/opt/local/go-solaris-amd64-bootstrap"},
|
|
|
|
},
|
2017-06-27 20:11:15 +03:00
|
|
|
"host-solaris-oracle-shawn": &HostConfig{
|
|
|
|
Notes: "Oracle Solaris amd64 Development System",
|
|
|
|
Owner: "shawn.walker@oracle.com",
|
|
|
|
OwnerGithub: "binarycrusader",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
|
|
|
env: []string{"GOROOT_BOOTSTRAP=/opt/local/go-solaris-amd64-bootstrap"},
|
|
|
|
},
|
2016-11-03 20:35:15 +03:00
|
|
|
"host-linux-mips": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Run by Brendan Kirby, imgtec.com",
|
|
|
|
OwnerGithub: "MIPSbkirby",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2016-11-09 21:53:36 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips",
|
|
|
|
"GOARCH=mips",
|
|
|
|
"GOHOSTARCH=mips",
|
2016-12-10 22:10:49 +03:00
|
|
|
"GO_TEST_TIMEOUT_SCALE=4",
|
2016-11-09 21:53:36 +03:00
|
|
|
},
|
2016-11-03 20:35:15 +03:00
|
|
|
ReverseAliases: []string{"linux-mips"},
|
|
|
|
},
|
|
|
|
"host-linux-mipsle": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Run by Brendan Kirby, imgtec.com",
|
|
|
|
OwnerGithub: "MIPSbkirby",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2016-11-09 21:53:36 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mipsle",
|
|
|
|
"GOARCH=mipsle",
|
|
|
|
"GOHOSTARCH=mipsle",
|
|
|
|
},
|
2016-11-03 20:35:15 +03:00
|
|
|
ReverseAliases: []string{"linux-mipsle"},
|
|
|
|
},
|
|
|
|
"host-linux-mips64": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Run by Brendan Kirby, imgtec.com",
|
|
|
|
OwnerGithub: "MIPSbkirby",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2016-11-09 21:53:36 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64",
|
|
|
|
"GOARCH=mips64",
|
|
|
|
"GOHOSTARCH=mips64",
|
2016-12-10 22:10:49 +03:00
|
|
|
"GO_TEST_TIMEOUT_SCALE=4",
|
2016-11-09 21:53:36 +03:00
|
|
|
},
|
2016-11-03 20:35:15 +03:00
|
|
|
ReverseAliases: []string{"linux-mips64"},
|
|
|
|
},
|
|
|
|
"host-linux-mips64le": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Run by Brendan Kirby, imgtec.com",
|
|
|
|
OwnerGithub: "MIPSbkirby",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2016-11-09 21:53:36 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64le",
|
|
|
|
"GOARCH=mips64le",
|
|
|
|
"GOHOSTARCH=mips64le",
|
|
|
|
},
|
2016-11-03 20:35:15 +03:00
|
|
|
ReverseAliases: []string{"linux-mips64le"},
|
|
|
|
},
|
2017-03-31 11:08:01 +03:00
|
|
|
"host-darwin-amd64-eliasnaur-android": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Mac Mini hosted by Elias Naur, running the android reverse buildlet",
|
|
|
|
OwnerGithub: "eliasnaur",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2017-03-31 11:08:01 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
|
|
|
|
"GOHOSTARCH=amd64",
|
|
|
|
"GOOS=android",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
"host-darwin-amd64-eliasnaur-ios": &HostConfig{
|
2017-04-13 22:38:46 +03:00
|
|
|
Notes: "Mac Mini hosted by Elias Naur, running the ios reverse buildlet",
|
|
|
|
OwnerGithub: "eliasnaur",
|
|
|
|
IsReverse: true,
|
|
|
|
ExpectNum: 1,
|
2017-03-30 00:04:40 +03:00
|
|
|
env: []string{
|
|
|
|
"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
|
|
|
|
"GOHOSTARCH=amd64",
|
|
|
|
},
|
|
|
|
},
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
for key, c := range Hosts {
|
|
|
|
if key == "" {
|
|
|
|
panic("empty string key in Hosts")
|
|
|
|
}
|
|
|
|
if c.HostType == "" {
|
|
|
|
c.HostType = key
|
|
|
|
}
|
|
|
|
if c.HostType != key {
|
|
|
|
panic(fmt.Sprintf("HostType %q != key %q", c.HostType, key))
|
|
|
|
}
|
|
|
|
nSet := 0
|
|
|
|
if c.VMImage != "" {
|
|
|
|
nSet++
|
|
|
|
}
|
|
|
|
if c.KubeImage != "" {
|
|
|
|
nSet++
|
|
|
|
}
|
|
|
|
if c.IsReverse {
|
|
|
|
nSet++
|
|
|
|
}
|
|
|
|
if nSet != 1 {
|
|
|
|
panic(fmt.Sprintf("exactly one of VMImage, KubeImage, IsReverse must be set for host %q; got %v", key, nSet))
|
|
|
|
}
|
|
|
|
if c.buildletURLTmpl == "" && (c.VMImage != "" || c.KubeImage != "") {
|
|
|
|
panic(fmt.Sprintf("missing buildletURLTmpl for host type %q", key))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// A HostConfig describes the available ways to obtain buildlets of
|
|
|
|
// different types. Some host configs can server multiple
|
|
|
|
// builders. For example, a host config of "host-linux-kube-std" can
|
|
|
|
// serve linux-amd64, linux-amd64-race, linux-386, linux-386-387, etc.
|
|
|
|
type HostConfig struct {
|
|
|
|
// HostType is the unique name of this host config. It is also
|
|
|
|
// the key in the Hosts map.
|
|
|
|
HostType string
|
|
|
|
|
|
|
|
// buildletURLTmpl is the URL "template" ($BUCKET is auto-expanded)
|
|
|
|
// for the URL to the buildlet binary.
|
|
|
|
// This field is required for GCE and Kubernetes builders. It's not
|
|
|
|
// needed for reverse buildlets because in that case, the buildlets
|
|
|
|
// are already running and their stage0 should know how to update it
|
|
|
|
// it automatically.
|
|
|
|
buildletURLTmpl string
|
|
|
|
|
|
|
|
// Exactly 1 of these must be set:
|
2016-12-10 22:10:49 +03:00
|
|
|
VMImage string // e.g. "openbsd-amd64-60"
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
KubeImage string // e.g. "linux-buildlet-std:latest" (suffix after "gcr.io/<PROJ>/")
|
|
|
|
IsReverse bool // if true, only use the reverse buildlet pool
|
|
|
|
|
|
|
|
// GCE options, if VMImage != ""
|
2015-01-15 23:46:22 +03:00
|
|
|
machineType string // optional GCE instance type
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
RegularDisk bool // if true, use spinning disk instead of SSD
|
|
|
|
|
2017-02-24 20:50:49 +03:00
|
|
|
// ReverseOptions:
|
|
|
|
ExpectNum int // expected number of reverse buildlets of this type
|
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
// Optional base env. GOROOT_BOOTSTRAP should go here if the buildlet
|
|
|
|
// has Go 1.4+ baked in somewhere.
|
|
|
|
env []string
|
2016-03-22 01:05:52 +03:00
|
|
|
|
|
|
|
// These template URLs may contain $BUCKET which is expanded to the
|
|
|
|
// relevant Cloud Storage bucket as specified by the build environment.
|
|
|
|
goBootstrapURLTmpl string // optional URL to a built Go 1.4+ tar.gz
|
2015-01-15 23:46:22 +03:00
|
|
|
|
2017-04-13 22:38:46 +03:00
|
|
|
Owner string // optional email of owner; "bradfitz@golang.org", empty means golang-dev
|
|
|
|
OwnerGithub string // optional GitHub username of owner
|
|
|
|
Notes string // notes for humans
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
|
|
|
|
// ReverseAliases lists alternate names for this buildlet
|
|
|
|
// config, for older clients doing a reverse dial into the
|
|
|
|
// coordinator from outside. This prevents us from updating
|
|
|
|
// 75+ dedicated machines/VMs atomically, switching them to
|
|
|
|
// the new "host-*" names.
|
|
|
|
// This is only applicable if IsReverse.
|
|
|
|
ReverseAliases []string
|
|
|
|
}
|
|
|
|
|
|
|
|
// A BuildConfig describes how to run a builder.
|
|
|
|
type BuildConfig struct {
|
|
|
|
// Name is the unique name of the builder, in the form of
|
|
|
|
// "GOOS-GOARCH" or "GOOS-GOARCH-suffix". For example,
|
|
|
|
// "darwin-386", "linux-386-387", "linux-amd64-race". Some
|
|
|
|
// suffixes are well-known and carry special meaning, such as
|
|
|
|
// "-race".
|
|
|
|
Name string
|
|
|
|
|
|
|
|
// HostType is the required key into the Hosts map, describing
|
|
|
|
// the type of host this build will run on.
|
|
|
|
// For example, "host-linux-kube-std".
|
|
|
|
HostType string
|
|
|
|
|
|
|
|
Notes string // notes for humans
|
|
|
|
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot bool // be a trybot
|
2015-05-14 04:38:20 +03:00
|
|
|
TryOnly bool // only used for trybots, and not regular builds
|
2016-05-04 20:47:12 +03:00
|
|
|
CompileOnly bool // if true, compile tests, but don't run them
|
2016-05-06 21:55:26 +03:00
|
|
|
FlakyNet bool // network tests are flaky (try anyway, but ignore some failures)
|
2015-03-21 02:14:52 +03:00
|
|
|
|
2017-04-19 23:45:24 +03:00
|
|
|
// MaxAtOnce optionally specifies a cap of how many builds of
|
|
|
|
// this type can run at once. Zero means unlimited. This is a
|
|
|
|
// temporary measure until the build scheduler
|
|
|
|
// (golang.org/issue/19178) is done.
|
|
|
|
MaxAtOnce int
|
|
|
|
|
2017-04-13 07:34:42 +03:00
|
|
|
// SkipSnapshot, if true, means to not fetch a tarball
|
|
|
|
// snapshot of the world post-make.bash from the buildlet (and
|
|
|
|
// thus to not write it to Google Cloud Storage). This is
|
|
|
|
// incompatible with sharded tests, and should only be used
|
|
|
|
// for very slow builders or networks, unable to transfer
|
|
|
|
// the tarball in under ~5 minutes.
|
|
|
|
SkipSnapshot bool
|
|
|
|
|
2017-03-15 23:18:30 +03:00
|
|
|
// RunBench causes the coordinator to run benchmarks on this buildlet type.
|
|
|
|
RunBench bool
|
|
|
|
|
2016-09-23 02:29:31 +03:00
|
|
|
// StopAfterMake causes the build to stop after the make
|
|
|
|
// script completes, returning its result as the result of the
|
|
|
|
// whole build. It does not run or compile any of the tests,
|
|
|
|
// nor does it write a snapshot of the world to cloud
|
|
|
|
// storage. This option is only supported for builders whose
|
|
|
|
// BuildConfig.SplitMakeRun returns true.
|
|
|
|
StopAfterMake bool
|
|
|
|
|
2017-04-22 02:41:12 +03:00
|
|
|
// InstallRacePackages controls which packages to "go install
|
|
|
|
// -race <pkgs>" after running make.bash (or equivalent). If
|
|
|
|
// the builder ends in "-race", the default if non-nil is just
|
|
|
|
// "std".
|
|
|
|
InstallRacePackages []string
|
|
|
|
|
2017-05-20 00:23:14 +03:00
|
|
|
// GoDeps is a list of of git sha1 commits that must be in the
|
|
|
|
// commit to be tested's history. If absent, this builder is
|
|
|
|
// not run for that commit.
|
|
|
|
GoDeps []string
|
|
|
|
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
// numTestHelpers is the number of _additional_ buildlets
|
|
|
|
// past the first one to help out with sharded tests.
|
|
|
|
// For trybots, the numTryHelpers value is used, unless it's
|
|
|
|
// zero, in which case numTestHelpers is used.
|
|
|
|
numTestHelpers int
|
|
|
|
numTryTestHelpers int // for trybots. if 0, numTesthelpers is used
|
2015-05-28 07:51:25 +03:00
|
|
|
|
2015-06-05 04:25:50 +03:00
|
|
|
env []string // extra environment ("key=value") pairs
|
|
|
|
allScriptArgs []string
|
2015-01-15 23:46:22 +03:00
|
|
|
}
|
|
|
|
|
2015-08-04 05:19:02 +03:00
|
|
|
func (c *BuildConfig) Env() []string {
|
2016-05-06 21:55:26 +03:00
|
|
|
env := []string{"GO_BUILDER_NAME=" + c.Name}
|
|
|
|
if c.FlakyNet {
|
|
|
|
env = append(env, "GO_BUILDER_FLAKY_NET=1")
|
|
|
|
}
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env = append(env, c.hostConf().env...)
|
2016-05-06 21:55:26 +03:00
|
|
|
return append(env, c.env...)
|
2015-08-04 05:19:02 +03:00
|
|
|
}
|
2015-01-22 02:15:48 +03:00
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c *BuildConfig) IsReverse() bool { return c.hostConf().IsReverse }
|
|
|
|
|
|
|
|
func (c *BuildConfig) IsKube() bool { return c.hostConf().IsKube() }
|
|
|
|
func (c *HostConfig) IsKube() bool { return c.KubeImage != "" }
|
|
|
|
|
|
|
|
func (c *BuildConfig) IsGCE() bool { return c.hostConf().IsGCE() }
|
|
|
|
func (c *HostConfig) IsGCE() bool { return c.VMImage != "" }
|
|
|
|
|
2015-01-16 03:29:16 +03:00
|
|
|
func (c *BuildConfig) GOOS() string { return c.Name[:strings.Index(c.Name, "-")] }
|
|
|
|
|
|
|
|
func (c *BuildConfig) GOARCH() string {
|
|
|
|
arch := c.Name[strings.Index(c.Name, "-")+1:]
|
|
|
|
i := strings.Index(arch, "-")
|
|
|
|
if i == -1 {
|
|
|
|
return arch
|
|
|
|
}
|
|
|
|
return arch[:i]
|
|
|
|
}
|
|
|
|
|
2015-05-28 07:51:25 +03:00
|
|
|
// FilePathJoin is mostly like filepath.Join (without the cleaning) except
|
|
|
|
// it uses the path separator of c.GOOS instead of the host system's.
|
|
|
|
func (c *BuildConfig) FilePathJoin(x ...string) string {
|
|
|
|
if c.GOOS() == "windows" {
|
|
|
|
return strings.Join(x, "\\")
|
|
|
|
}
|
|
|
|
return strings.Join(x, "/")
|
|
|
|
}
|
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c *BuildConfig) hostConf() *HostConfig {
|
|
|
|
if c, ok := Hosts[c.HostType]; ok {
|
|
|
|
return c
|
|
|
|
}
|
|
|
|
panic(fmt.Sprintf("missing buildlet config for buildlet %q", c.Name))
|
|
|
|
}
|
|
|
|
|
2016-03-22 01:05:52 +03:00
|
|
|
// BuildletBinaryURL returns the public URL of this builder's buildlet.
|
|
|
|
func (c *BuildConfig) GoBootstrapURL(e *buildenv.Environment) string {
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
return strings.Replace(c.hostConf().goBootstrapURLTmpl, "$BUCKET", e.BuildletBucket, 1)
|
2016-03-22 01:05:52 +03:00
|
|
|
}
|
|
|
|
|
2015-01-28 01:22:21 +03:00
|
|
|
// BuildletBinaryURL returns the public URL of this builder's buildlet.
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c *HostConfig) BuildletBinaryURL(e *buildenv.Environment) string {
|
2016-03-22 01:05:52 +03:00
|
|
|
tmpl := c.buildletURLTmpl
|
2016-02-15 02:59:59 +03:00
|
|
|
return strings.Replace(tmpl, "$BUCKET", e.BuildletBucket, 1)
|
2015-01-28 01:22:21 +03:00
|
|
|
}
|
|
|
|
|
2015-06-17 18:22:14 +03:00
|
|
|
func (c *BuildConfig) IsRace() bool {
|
|
|
|
return strings.HasSuffix(c.Name, "-race")
|
|
|
|
}
|
|
|
|
|
2017-04-22 02:41:12 +03:00
|
|
|
func (c *BuildConfig) GoInstallRacePackages() []string {
|
|
|
|
if c.InstallRacePackages != nil {
|
|
|
|
return append([]string(nil), c.InstallRacePackages...)
|
|
|
|
}
|
|
|
|
if c.IsRace() {
|
|
|
|
return []string{"std"}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2015-01-16 20:54:03 +03:00
|
|
|
// AllScript returns the relative path to the operating system's script to
|
|
|
|
// do the build and run its standard set of tests.
|
|
|
|
// Example values are "src/all.bash", "src/all.bat", "src/all.rc".
|
|
|
|
func (c *BuildConfig) AllScript() string {
|
2017-04-13 00:37:13 +03:00
|
|
|
if c.Name == "" {
|
|
|
|
panic("bogus BuildConfig")
|
|
|
|
}
|
2015-06-17 18:22:14 +03:00
|
|
|
if c.IsRace() {
|
2015-01-22 02:15:48 +03:00
|
|
|
if strings.HasPrefix(c.Name, "windows-") {
|
|
|
|
return "src/race.bat"
|
|
|
|
}
|
|
|
|
return "src/race.bash"
|
|
|
|
}
|
2015-01-16 20:54:03 +03:00
|
|
|
if strings.HasPrefix(c.Name, "windows-") {
|
|
|
|
return "src/all.bat"
|
|
|
|
}
|
|
|
|
if strings.HasPrefix(c.Name, "plan9-") {
|
|
|
|
return "src/all.rc"
|
|
|
|
}
|
2015-02-19 01:12:22 +03:00
|
|
|
if strings.HasPrefix(c.Name, "nacl-") {
|
|
|
|
return "src/nacltest.bash"
|
|
|
|
}
|
2015-09-03 20:35:10 +03:00
|
|
|
if strings.HasPrefix(c.Name, "android-") {
|
|
|
|
return "src/androidtest.bash"
|
|
|
|
}
|
2015-04-29 15:54:19 +03:00
|
|
|
if strings.HasPrefix(c.Name, "darwin-arm") {
|
|
|
|
return "src/iostest.bash"
|
|
|
|
}
|
2016-05-05 03:42:49 +03:00
|
|
|
if strings.HasPrefix(c.Name, "misc-compile") {
|
2015-04-30 00:44:46 +03:00
|
|
|
return "src/buildall.bash"
|
|
|
|
}
|
2015-01-16 20:54:03 +03:00
|
|
|
return "src/all.bash"
|
|
|
|
}
|
|
|
|
|
2015-05-27 21:51:27 +03:00
|
|
|
// SplitMakeRun reports whether the coordinator should first compile
|
|
|
|
// (using c.MakeScript), then snapshot, then run the tests (ideally
|
|
|
|
// sharded) using c.RunScript.
|
|
|
|
// Eventually this function should always return true (and then be deleted)
|
|
|
|
// but for now we've only set up the scripts and verified that the main
|
|
|
|
// configurations work.
|
|
|
|
func (c *BuildConfig) SplitMakeRun() bool {
|
|
|
|
switch c.AllScript() {
|
2016-05-04 20:47:12 +03:00
|
|
|
case "src/all.bash", "src/all.bat",
|
|
|
|
"src/race.bash", "src/race.bat",
|
|
|
|
"src/all.rc",
|
|
|
|
"src/nacltest.bash":
|
2015-05-27 21:51:27 +03:00
|
|
|
// These we've verified to work.
|
|
|
|
return true
|
|
|
|
}
|
2016-05-04 20:47:12 +03:00
|
|
|
// TODO(bradfitz): make androidtest.bash and iotest.bash work
|
|
|
|
// too. And buildall.bash should really just be N small
|
|
|
|
// Kubernetes jobs instead of a "buildall.bash". Then we can
|
|
|
|
// delete this whole method.
|
2015-05-27 21:51:27 +03:00
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2015-06-05 02:45:17 +03:00
|
|
|
func (c *BuildConfig) BuildSubrepos() bool {
|
|
|
|
if !c.SplitMakeRun() {
|
|
|
|
return false
|
|
|
|
}
|
2015-06-11 20:01:24 +03:00
|
|
|
// TODO(adg,bradfitz): expand this as required
|
|
|
|
switch c.Name {
|
2016-09-07 08:41:02 +03:00
|
|
|
case "darwin-amd64-10_8",
|
|
|
|
"darwin-amd64-10_10",
|
|
|
|
"darwin-amd64-10_11",
|
|
|
|
"darwin-386-10_11",
|
2015-06-11 20:01:24 +03:00
|
|
|
"freebsd-386-gce101", "freebsd-amd64-gce101",
|
2017-02-27 19:05:25 +03:00
|
|
|
"freebsd-386-110", "freebsd-amd64-110",
|
2015-06-11 20:01:24 +03:00
|
|
|
"linux-386", "linux-amd64", "linux-amd64-nocgo",
|
2016-12-15 01:41:25 +03:00
|
|
|
"openbsd-386-60", "openbsd-amd64-60",
|
2015-06-11 20:01:24 +03:00
|
|
|
"plan9-386",
|
2017-04-27 23:12:08 +03:00
|
|
|
"windows-386-gce", "windows-amd64-2008", "windows-386-2008":
|
2015-06-11 20:01:24 +03:00
|
|
|
return true
|
2017-01-25 00:48:04 +03:00
|
|
|
case "darwin-amd64-10_12":
|
|
|
|
// Don't build subrepos on Sierra until
|
|
|
|
// https://github.com/golang/go/issues/18751#issuecomment-274955794
|
|
|
|
// is addressed.
|
|
|
|
return false
|
2015-06-11 20:01:24 +03:00
|
|
|
default:
|
|
|
|
return false
|
|
|
|
}
|
2015-06-05 02:45:17 +03:00
|
|
|
}
|
|
|
|
|
2015-05-21 07:02:38 +03:00
|
|
|
// AllScriptArgs returns the set of arguments that should be passed to the
|
2015-04-29 15:54:19 +03:00
|
|
|
// all.bash-equivalent script. Usually empty.
|
|
|
|
func (c *BuildConfig) AllScriptArgs() []string {
|
|
|
|
if strings.HasPrefix(c.Name, "darwin-arm") {
|
|
|
|
return []string{"-restart"}
|
|
|
|
}
|
2015-06-05 04:25:50 +03:00
|
|
|
return append([]string(nil), c.allScriptArgs...)
|
2015-04-29 15:54:19 +03:00
|
|
|
}
|
|
|
|
|
2015-02-02 15:05:01 +03:00
|
|
|
// MakeScript returns the relative path to the operating system's script to
|
|
|
|
// do the build.
|
|
|
|
// Example values are "src/make.bash", "src/make.bat", "src/make.rc".
|
|
|
|
func (c *BuildConfig) MakeScript() string {
|
|
|
|
if strings.HasPrefix(c.Name, "windows-") {
|
|
|
|
return "src/make.bat"
|
|
|
|
}
|
|
|
|
if strings.HasPrefix(c.Name, "plan9-") {
|
|
|
|
return "src/make.rc"
|
|
|
|
}
|
2016-05-04 20:47:12 +03:00
|
|
|
if strings.HasPrefix(c.Name, "nacl-") {
|
|
|
|
return "src/naclmake.bash"
|
|
|
|
}
|
2015-02-02 15:05:01 +03:00
|
|
|
return "src/make.bash"
|
|
|
|
}
|
|
|
|
|
2015-05-21 07:02:38 +03:00
|
|
|
// MakeScriptArgs returns the set of arguments that should be passed to the
|
|
|
|
// make.bash-equivalent script. Usually empty.
|
|
|
|
func (c *BuildConfig) MakeScriptArgs() []string {
|
|
|
|
return c.AllScriptArgs()
|
|
|
|
}
|
|
|
|
|
|
|
|
// RunScript returns the relative path to the operating system's script to
|
|
|
|
// run the test suite.
|
|
|
|
// Example values are "src/run.bash", "src/run.bat", "src/run.rc".
|
|
|
|
func (c *BuildConfig) RunScript() string {
|
|
|
|
if strings.HasPrefix(c.Name, "windows-") {
|
|
|
|
return "src/run.bat"
|
|
|
|
}
|
|
|
|
if strings.HasPrefix(c.Name, "plan9-") {
|
|
|
|
return "src/run.rc"
|
|
|
|
}
|
|
|
|
return "src/run.bash"
|
|
|
|
}
|
|
|
|
|
|
|
|
// RunScriptArgs returns the set of arguments that should be passed to the
|
|
|
|
// run.bash-equivalent script.
|
|
|
|
func (c *BuildConfig) RunScriptArgs() []string {
|
|
|
|
return []string{"--no-rebuild"}
|
|
|
|
}
|
|
|
|
|
2015-02-02 15:05:01 +03:00
|
|
|
// GorootFinal returns the default install location for
|
|
|
|
// releases for this platform.
|
|
|
|
func (c *BuildConfig) GorootFinal() string {
|
|
|
|
if strings.HasPrefix(c.Name, "windows-") {
|
|
|
|
return "c:\\go"
|
|
|
|
}
|
|
|
|
return "/usr/local/go"
|
|
|
|
}
|
|
|
|
|
2015-01-15 23:46:22 +03:00
|
|
|
// MachineType returns the GCE machine type to use for this builder.
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c *HostConfig) MachineType() string {
|
2015-01-15 23:46:22 +03:00
|
|
|
if v := c.machineType; v != "" {
|
|
|
|
return v
|
|
|
|
}
|
|
|
|
return "n1-highcpu-2"
|
|
|
|
}
|
|
|
|
|
2015-05-01 03:03:01 +03:00
|
|
|
// ShortOwner returns a short human-readable owner.
|
|
|
|
func (c BuildConfig) ShortOwner() string {
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
owner := c.hostConf().Owner
|
|
|
|
if owner == "" {
|
2015-05-01 03:03:01 +03:00
|
|
|
return "go-dev"
|
|
|
|
}
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
return strings.TrimSuffix(owner, "@golang.org")
|
2015-05-01 03:03:01 +03:00
|
|
|
}
|
|
|
|
|
2017-04-13 22:38:46 +03:00
|
|
|
// OwnerGithub returns the Github handle of the owner.
|
|
|
|
func (c BuildConfig) OwnerGithub() string {
|
|
|
|
return c.hostConf().OwnerGithub
|
|
|
|
}
|
|
|
|
|
2016-09-23 03:06:28 +03:00
|
|
|
// PoolName returns a short summary of the builder's host type for the
|
2017-04-03 17:51:28 +03:00
|
|
|
// https://farmer.golang.org/builders page.
|
2016-09-23 03:06:28 +03:00
|
|
|
func (c *HostConfig) PoolName() string {
|
|
|
|
switch {
|
|
|
|
case c.IsReverse:
|
|
|
|
return "Reverse (dedicated machine/VM)"
|
|
|
|
case c.IsGCE():
|
|
|
|
return "GCE VM"
|
|
|
|
case c.IsKube():
|
|
|
|
return "Kubernetes container"
|
|
|
|
}
|
|
|
|
return "??"
|
|
|
|
}
|
|
|
|
|
2015-06-05 04:25:50 +03:00
|
|
|
// GCENumCPU reports the number of GCE CPUs this buildlet requires.
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c *HostConfig) GCENumCPU() int {
|
2015-06-05 04:25:50 +03:00
|
|
|
t := c.MachineType()
|
|
|
|
n, _ := strconv.Atoi(t[strings.LastIndex(t, "-")+1:])
|
|
|
|
return n
|
|
|
|
}
|
|
|
|
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
func (c *BuildConfig) NumTestHelpers(isTry bool) int {
|
|
|
|
if isTry && c.numTryTestHelpers != 0 {
|
|
|
|
return c.numTryTestHelpers
|
|
|
|
}
|
|
|
|
return c.numTestHelpers
|
|
|
|
}
|
|
|
|
|
2015-01-15 23:46:22 +03:00
|
|
|
func init() {
|
2015-01-22 08:16:54 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-02-27 19:05:25 +03:00
|
|
|
Name: "freebsd-amd64-gce93",
|
|
|
|
HostType: "host-freebsd-93-gce",
|
2017-07-19 22:56:37 +03:00
|
|
|
TryOnly: true, // disable builds until FreeBSD on GCE is fixed
|
2015-01-22 08:16:54 +03:00
|
|
|
})
|
2015-01-22 02:15:48 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "freebsd-amd64-gce101",
|
|
|
|
HostType: "host-freebsd-101-gce",
|
2017-07-19 22:56:37 +03:00
|
|
|
TryBot: false, // was true; disabled due to FreeBSD GCE issues
|
|
|
|
TryOnly: true, // disable builds until FreeBSD on GCE is fixed
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
numTestHelpers: 2,
|
|
|
|
numTryTestHelpers: 4,
|
2015-01-22 02:15:48 +03:00
|
|
|
})
|
2017-02-27 19:05:25 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "freebsd-amd64-110",
|
|
|
|
HostType: "host-freebsd-110",
|
2017-07-19 22:56:37 +03:00
|
|
|
TryBot: true,
|
2017-02-27 19:05:25 +03:00
|
|
|
})
|
2015-01-22 02:15:48 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "freebsd-amd64-race",
|
2017-07-19 22:56:37 +03:00
|
|
|
HostType: "host-freebsd-110",
|
2015-01-22 02:15:48 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "freebsd-386-gce101",
|
|
|
|
HostType: "host-freebsd-101-gce",
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
2017-07-19 22:56:37 +03:00
|
|
|
TryOnly: true, // disable builds until FreeBSD on GCE is fixed
|
2015-01-28 01:22:21 +03:00
|
|
|
})
|
2017-02-27 19:05:25 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "freebsd-386-110",
|
|
|
|
HostType: "host-freebsd-110",
|
2017-07-19 22:56:37 +03:00
|
|
|
TryOnly: true, // disable builds until FreeBSD on GCE is fixed
|
2017-02-27 19:05:25 +03:00
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
|
|
|
})
|
2015-01-28 01:22:21 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-386",
|
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
|
|
|
numTestHelpers: 1,
|
|
|
|
numTryTestHelpers: 3,
|
2015-01-28 01:22:21 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-386-387",
|
|
|
|
Notes: "GO386=387",
|
|
|
|
HostType: "host-linux-kubestd",
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386", "GO386=387"},
|
2015-01-28 01:22:21 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-amd64",
|
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
2017-05-15 22:57:37 +03:00
|
|
|
numTestHelpers: 6, // As of 2017/05/16, 3 helpers are needed for tests and 3 more for benchmarks to complete in 5m.
|
2017-03-15 23:18:30 +03:00
|
|
|
RunBench: true,
|
2015-11-20 21:00:06 +03:00
|
|
|
})
|
2017-04-12 03:35:37 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-amd64-alpine",
|
|
|
|
HostType: "host-linux-x86-alpine",
|
|
|
|
})
|
2017-01-09 23:02:06 +03:00
|
|
|
// Add the -vetall builder. The builder name suffix "-vetall" is recognized by cmd/dist/test.go
|
|
|
|
// to only run the "go vet std cmd" test and no others.
|
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "misc-vet-vetall",
|
|
|
|
HostType: "host-linux-kubestd",
|
|
|
|
Notes: "Runs vet over the standard library.",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
2017-01-09 23:02:06 +03:00
|
|
|
numTestHelpers: 5,
|
|
|
|
})
|
2016-05-05 03:42:49 +03:00
|
|
|
|
|
|
|
addMiscCompile := func(suffix, rx string) {
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "misc-compile" + suffix,
|
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
TryOnly: true,
|
|
|
|
CompileOnly: true,
|
|
|
|
Notes: "Runs buildall.sh to cross-compile std packages for " + rx + ", but doesn't run any tests.",
|
2016-05-05 03:42:49 +03:00
|
|
|
allScriptArgs: []string{
|
|
|
|
// Filtering pattern to buildall.bash:
|
|
|
|
rx,
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
2016-11-12 03:32:48 +03:00
|
|
|
addMiscCompile("", "^(linux-arm64|linux-mips64.*|nacl-arm|solaris-amd64|freebsd-arm|darwin-386)$")
|
|
|
|
// TODO(bradfitz): add linux-mips* (or just make a "-mips" suffix builder) to add 32-bit
|
|
|
|
// mips, once that port is finished.
|
2016-05-05 03:42:49 +03:00
|
|
|
addMiscCompile("-ppc", "^(linux-ppc64|linux-ppc64le)$")
|
|
|
|
addMiscCompile("-netbsd", "^netbsd-")
|
|
|
|
addMiscCompile("-plan9", "^plan9-")
|
|
|
|
|
2015-01-28 01:22:21 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-amd64-nocgo",
|
|
|
|
HostType: "host-linux-kubestd",
|
|
|
|
Notes: "cgo disabled",
|
2015-01-28 01:22:21 +03:00
|
|
|
env: []string{
|
|
|
|
"CGO_ENABLED=0",
|
|
|
|
// This USER=root was required for Docker-based builds but probably isn't required
|
|
|
|
// in the VM anymore, since the buildlet probably already has this in its environment.
|
|
|
|
// (It was required because without cgo, it couldn't find the username)
|
|
|
|
"USER=root",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-amd64-noopt",
|
|
|
|
Notes: "optimizations and inlining disabled",
|
|
|
|
HostType: "host-linux-kubestd",
|
|
|
|
env: []string{"GO_GCFLAGS=-N -l"},
|
2015-01-28 01:22:21 +03:00
|
|
|
})
|
2016-03-19 01:30:38 +03:00
|
|
|
addBuilder(BuildConfig{
|
2016-05-04 20:47:12 +03:00
|
|
|
Name: "linux-amd64-ssacheck",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
2016-05-04 20:47:12 +03:00
|
|
|
CompileOnly: true,
|
|
|
|
Notes: "SSA internal checks enabled",
|
2017-03-17 07:55:29 +03:00
|
|
|
env: []string{"GO_GCFLAGS=-d=ssa/check/on,dclstack"},
|
2017-05-20 00:23:14 +03:00
|
|
|
GoDeps: []string{
|
|
|
|
"f65abf6ddc8d1f3d403a9195fd74eaffa022b07f", // adds dclstack
|
|
|
|
},
|
2016-03-19 01:30:38 +03:00
|
|
|
})
|
2017-04-22 02:41:12 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-amd64-racecompile",
|
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-28 23:02:46 +03:00
|
|
|
TryBot: true,
|
2017-04-22 02:41:12 +03:00
|
|
|
CompileOnly: true,
|
2017-04-25 00:14:05 +03:00
|
|
|
SkipSnapshot: true,
|
|
|
|
StopAfterMake: true,
|
2017-04-22 02:41:12 +03:00
|
|
|
InstallRacePackages: []string{"cmd/compile"},
|
|
|
|
Notes: "race-enabled cmd/compile",
|
2017-05-20 00:23:14 +03:00
|
|
|
GoDeps: []string{
|
|
|
|
"22f1b56dab29d397d2bdbdd603d85e60fb678089", // adds cmd/compile -c; Issue 20222
|
|
|
|
},
|
2017-04-22 02:41:12 +03:00
|
|
|
})
|
2015-01-28 01:22:21 +03:00
|
|
|
addBuilder(BuildConfig{
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
Name: "linux-amd64-race",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
HostType: "host-linux-kubestd",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
numTestHelpers: 2,
|
|
|
|
numTryTestHelpers: 5,
|
2015-01-22 02:15:48 +03:00
|
|
|
})
|
2015-02-13 06:45:02 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-386-clang",
|
|
|
|
HostType: "host-linux-clang",
|
2017-04-13 18:59:01 +03:00
|
|
|
Notes: "Debian jessie + clang 3.9 instead of gcc",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"CC=/usr/bin/clang", "GOHOSTARCH=386"},
|
2015-02-13 06:45:02 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-amd64-clang",
|
|
|
|
HostType: "host-linux-clang",
|
2017-04-13 18:59:01 +03:00
|
|
|
Notes: "Debian jessie + clang 3.9 instead of gcc",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
env: []string{"CC=/usr/bin/clang"},
|
2015-02-13 06:45:02 +03:00
|
|
|
})
|
2015-02-14 06:01:32 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-386-sid",
|
|
|
|
HostType: "host-linux-sid",
|
|
|
|
Notes: "Debian sid (unstable)",
|
|
|
|
env: []string{"GOHOSTARCH=386"},
|
2015-02-14 06:01:32 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-amd64-sid",
|
|
|
|
HostType: "host-linux-sid",
|
|
|
|
Notes: "Debian sid (unstable)",
|
2015-02-14 06:01:32 +03:00
|
|
|
})
|
2015-03-01 20:23:57 +03:00
|
|
|
addBuilder(BuildConfig{
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
Name: "linux-arm",
|
2017-05-18 00:28:46 +03:00
|
|
|
HostType: "host-linux-arm-scaleway",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
FlakyNet: true,
|
|
|
|
numTestHelpers: 2,
|
|
|
|
numTryTestHelpers: 7,
|
2015-05-14 23:39:58 +03:00
|
|
|
})
|
2015-05-07 21:36:25 +03:00
|
|
|
addBuilder(BuildConfig{
|
2016-09-23 02:29:31 +03:00
|
|
|
Name: "linux-arm-nativemake",
|
|
|
|
Notes: "runs make.bash on real ARM hardware, but does not run tests",
|
2017-06-23 17:02:38 +03:00
|
|
|
HostType: "host-linux-arm-scaleway",
|
2016-09-23 02:29:31 +03:00
|
|
|
StopAfterMake: true,
|
|
|
|
})
|
2017-03-22 23:53:27 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-arm-arm5spacemonkey",
|
|
|
|
HostType: "host-linux-arm5spacemonkey",
|
|
|
|
env: []string{"GOARM=5"},
|
|
|
|
})
|
2015-02-19 01:12:22 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "nacl-386",
|
|
|
|
HostType: "host-nacl-kube",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
numTestHelpers: 3,
|
|
|
|
env: []string{"GOOS=nacl", "GOARCH=386", "GOHOSTOS=linux", "GOHOSTARCH=amd64"},
|
2016-01-27 02:13:47 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "nacl-amd64p32",
|
|
|
|
HostType: "host-nacl-kube",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
numTestHelpers: 3,
|
|
|
|
env: []string{"GOOS=nacl", "GOARCH=amd64p32", "GOHOSTOS=linux", "GOHOSTARCH=amd64"},
|
2016-01-27 02:13:47 +03:00
|
|
|
})
|
2016-12-10 22:10:49 +03:00
|
|
|
addBuilder(BuildConfig{
|
2016-12-15 01:41:25 +03:00
|
|
|
Name: "openbsd-amd64-60",
|
2016-12-10 22:10:49 +03:00
|
|
|
HostType: "host-openbsd-amd64-60",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
2016-12-10 22:10:49 +03:00
|
|
|
numTestHelpers: 2,
|
|
|
|
numTryTestHelpers: 5,
|
|
|
|
})
|
2015-01-15 23:46:22 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-06-09 21:43:12 +03:00
|
|
|
Name: "openbsd-386-60",
|
|
|
|
HostType: "host-openbsd-386-60",
|
2017-07-19 22:56:37 +03:00
|
|
|
MaxAtOnce: 2, // arbitrary, just not unlimited; delete when we have proper scheduler
|
|
|
|
TryOnly: true, // TODO: remove this once OpenBSD works on GCE again.
|
2015-01-15 23:46:22 +03:00
|
|
|
})
|
2016-04-04 21:03:49 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-07-14 19:50:26 +03:00
|
|
|
Name: "netbsd-amd64-8branch",
|
|
|
|
HostType: "host-netbsd-8branch",
|
|
|
|
MaxAtOnce: 1,
|
2017-07-19 22:56:37 +03:00
|
|
|
TryBot: false,
|
|
|
|
TryOnly: true, // don't do regular builds until NetBSD runs again; Issues 19339, 19652, 20852
|
2017-02-26 21:11:21 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
2017-07-14 19:50:26 +03:00
|
|
|
Name: "netbsd-386-8branch",
|
|
|
|
HostType: "host-netbsd-8branch",
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
|
|
|
MaxAtOnce: 1,
|
2017-07-19 22:56:37 +03:00
|
|
|
TryBot: false,
|
|
|
|
TryOnly: true, // don't do regular builds until NetBSD runs again; Issues 19339, 19652, 20852
|
2016-04-04 21:03:49 +03:00
|
|
|
})
|
2015-01-15 23:46:22 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "plan9-386",
|
|
|
|
HostType: "host-plan9-386-gce",
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
numTestHelpers: 1,
|
2017-07-19 22:56:37 +03:00
|
|
|
MaxAtOnce: 2, // arbitrary, just not unlimited; delete when we have proper scheduler
|
|
|
|
TryOnly: true, // TODO: remove this once Plan 9 works on GCE again.
|
2015-01-15 23:46:22 +03:00
|
|
|
})
|
2017-04-21 22:35:28 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-04-24 23:32:02 +03:00
|
|
|
Name: "windows-amd64-2008",
|
|
|
|
HostType: "host-windows-amd64-2008",
|
|
|
|
env: []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
|
2017-04-27 08:51:10 +03:00
|
|
|
TryBot: false, // Disabled until new Windows builders reliably come up quickly
|
2017-04-24 23:32:02 +03:00
|
|
|
numTryTestHelpers: 5,
|
2017-04-21 22:35:28 +03:00
|
|
|
})
|
2017-04-27 23:12:08 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "windows-386-2008",
|
|
|
|
HostType: "host-windows-amd64-2008",
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
|
|
|
TryBot: false, // Disabled until new Windows builders reliably come up quickly
|
|
|
|
numTryTestHelpers: 5,
|
|
|
|
})
|
2017-04-21 22:35:28 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-04-24 23:32:02 +03:00
|
|
|
Name: "windows-amd64-2012",
|
|
|
|
HostType: "host-windows-amd64-2012",
|
|
|
|
env: []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
|
2017-04-21 22:35:28 +03:00
|
|
|
})
|
2015-02-07 04:32:15 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-04-24 23:32:02 +03:00
|
|
|
Name: "windows-amd64-2016",
|
|
|
|
HostType: "host-windows-amd64-2016",
|
|
|
|
env: []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
|
2015-02-07 04:32:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "windows-amd64-race",
|
2017-04-24 23:32:02 +03:00
|
|
|
HostType: "host-windows-amd64-2008",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Notes: "Only runs -race tests (./race.bat)",
|
|
|
|
env: []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
|
2015-02-07 04:32:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "windows-386-gce",
|
|
|
|
HostType: "host-windows-gce",
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
numTestHelpers: 1,
|
|
|
|
numTryTestHelpers: 5,
|
2017-04-27 08:51:10 +03:00
|
|
|
})
|
|
|
|
// Temporary trybot until windows-amd64-20xx are fixed to boot reliably & quickly.
|
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "windows-amd64-gce",
|
|
|
|
HostType: "host-windows-gce",
|
|
|
|
env: []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
|
|
|
|
TryBot: true,
|
|
|
|
TryOnly: true,
|
|
|
|
numTryTestHelpers: 5,
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
2016-08-30 22:55:08 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "darwin-amd64-10_8",
|
|
|
|
HostType: "host-darwin-10_8",
|
2016-08-30 22:55:08 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "darwin-amd64-10_10",
|
|
|
|
HostType: "host-darwin-10_10",
|
2016-08-30 22:55:08 +03:00
|
|
|
})
|
2016-09-07 08:41:02 +03:00
|
|
|
addBuilder(BuildConfig{
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
Name: "darwin-amd64-10_11",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
HostType: "host-darwin-10_11",
|
2017-04-12 03:35:37 +03:00
|
|
|
TryBot: true,
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
numTestHelpers: 2,
|
|
|
|
numTryTestHelpers: 3,
|
2016-09-07 08:41:02 +03:00
|
|
|
})
|
2017-04-25 02:03:42 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "darwin-386-10_11",
|
|
|
|
HostType: "host-darwin-10_11",
|
|
|
|
MaxAtOnce: 1,
|
|
|
|
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
|
|
|
|
})
|
2017-01-19 01:45:12 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "darwin-amd64-10_12",
|
|
|
|
HostType: "host-darwin-10_12",
|
|
|
|
})
|
2016-08-30 22:55:08 +03:00
|
|
|
|
2016-03-22 01:05:52 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "android-arm-sdk19",
|
|
|
|
Notes: "Android ARM device running android-19 (KitKat 4.4), attatched to Mac Mini",
|
|
|
|
env: []string{"GOOS=android", "GOARCH=arm"},
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "android-arm64-sdk21",
|
|
|
|
Notes: "Android arm64 device using the android-21 toolchain, attatched to Mac Mini",
|
|
|
|
env: []string{"GOOS=android", "GOARCH=arm64"},
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "android-386-sdk21",
|
|
|
|
Notes: "Android 386 device using the android-21 toolchain, attatched to Mac Mini",
|
|
|
|
env: []string{"GOOS=android", "GOARCH=386"},
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "android-amd64-sdk21",
|
|
|
|
Notes: "Android amd64 device using the android-21 toolchain, attatched to Mac Mini",
|
|
|
|
env: []string{"GOOS=android", "GOARCH=amd64"},
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "darwin-arm-a5ios",
|
|
|
|
Notes: "iPhone 4S (A5 processor), via a Mac Mini; owned by crawshaw",
|
|
|
|
env: []string{"GOARCH=arm", "GOHOSTARCH=amd64"},
|
2016-03-22 01:05:52 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "darwin-arm64-a7ios",
|
|
|
|
Notes: "iPad Mini 3 (A7 processor), via a Mac Mini; owned by crawshaw",
|
|
|
|
env: []string{"GOARCH=arm64", "GOHOSTARCH=amd64"},
|
2015-04-29 15:54:19 +03:00
|
|
|
})
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
|
2017-02-02 18:00:21 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-03-30 00:04:40 +03:00
|
|
|
Name: "darwin-arm-a1549ios",
|
2017-03-31 11:08:01 +03:00
|
|
|
HostType: "host-darwin-amd64-eliasnaur-ios",
|
2017-03-30 00:04:40 +03:00
|
|
|
Notes: "iPhone 6 (model A1549), via a Mac Mini; owned by elias.naur",
|
|
|
|
env: []string{"GOARCH=arm"},
|
2017-02-02 18:00:21 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
2017-03-30 00:04:40 +03:00
|
|
|
Name: "darwin-arm64-a1549ios",
|
2017-03-31 11:08:01 +03:00
|
|
|
HostType: "host-darwin-amd64-eliasnaur-ios",
|
2017-03-30 00:04:40 +03:00
|
|
|
Notes: "iPhone 6 (model A1549), via a Mac Mini; owned by elias.naur",
|
|
|
|
env: []string{"GOARCH=arm64"},
|
2017-02-02 18:00:21 +03:00
|
|
|
})
|
2017-03-30 00:23:59 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "android-arm-wiko-fever",
|
2017-03-31 11:08:01 +03:00
|
|
|
HostType: "host-darwin-amd64-eliasnaur-android",
|
2017-03-30 00:23:59 +03:00
|
|
|
Notes: "Android Wiko Fever phone running Android 6.0, via a Mac Mini",
|
|
|
|
env: []string{
|
|
|
|
"GOARCH=arm",
|
|
|
|
"GOARM=7",
|
2017-04-02 17:59:34 +03:00
|
|
|
"CC_FOR_TARGET=/Users/elias/android-ndk-standalone-arm/bin/clang",
|
2017-03-30 00:23:59 +03:00
|
|
|
},
|
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "android-arm64-wiko-fever",
|
2017-03-31 11:08:01 +03:00
|
|
|
HostType: "host-darwin-amd64-eliasnaur-android",
|
2017-03-30 00:23:59 +03:00
|
|
|
Notes: "Android Wiko Fever phone running Android 6.0, via a Mac Mini",
|
|
|
|
env: []string{
|
|
|
|
"GOARCH=arm64",
|
2017-04-02 17:59:34 +03:00
|
|
|
"CC_FOR_TARGET=/Users/elias/android-ndk-standalone-arm64/bin/clang",
|
2017-03-30 00:23:59 +03:00
|
|
|
},
|
|
|
|
})
|
2017-02-02 18:00:21 +03:00
|
|
|
|
2017-06-27 20:11:15 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "solaris-amd64-oracledev",
|
|
|
|
HostType: "host-solaris-oracle-shawn",
|
|
|
|
Notes: "Oracle Solaris development version",
|
|
|
|
})
|
2017-07-07 23:41:20 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "solaris-amd64-oraclerel",
|
|
|
|
HostType: "host-solaris-oracle-amd64-oraclerel",
|
|
|
|
Notes: "Oracle Solaris release version",
|
|
|
|
})
|
2016-03-01 07:49:24 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "solaris-amd64-smartosbuildlet",
|
|
|
|
HostType: "host-solaris-amd64",
|
2016-03-01 07:49:24 +03:00
|
|
|
})
|
2016-10-06 23:30:58 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-ppc64-buildlet",
|
|
|
|
HostType: "host-linux-ppc64-osu",
|
|
|
|
FlakyNet: true,
|
|
|
|
})
|
2016-03-01 07:49:24 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-ppc64le-buildlet",
|
|
|
|
HostType: "host-linux-ppc64le-osu",
|
|
|
|
FlakyNet: true,
|
2016-04-07 22:27:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-arm64-buildlet",
|
|
|
|
HostType: "host-linux-arm64-linaro",
|
|
|
|
FlakyNet: true,
|
2016-03-01 07:49:24 +03:00
|
|
|
})
|
2017-04-07 01:16:28 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-arm64-packet",
|
|
|
|
HostType: "host-linux-arm64-packet",
|
|
|
|
FlakyNet: true, // unknown; just copied from the linaro one
|
|
|
|
})
|
2016-11-03 20:35:15 +03:00
|
|
|
addBuilder(BuildConfig{
|
2017-04-13 07:34:42 +03:00
|
|
|
Name: "linux-mips",
|
|
|
|
HostType: "host-linux-mips",
|
|
|
|
SkipSnapshot: true,
|
2016-11-03 20:35:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
2017-04-13 07:34:42 +03:00
|
|
|
Name: "linux-mipsle",
|
|
|
|
HostType: "host-linux-mipsle",
|
|
|
|
SkipSnapshot: true,
|
2016-11-03 20:35:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
2017-04-13 07:34:42 +03:00
|
|
|
Name: "linux-mips64",
|
|
|
|
HostType: "host-linux-mips64",
|
|
|
|
SkipSnapshot: true,
|
2016-11-03 20:35:15 +03:00
|
|
|
})
|
|
|
|
addBuilder(BuildConfig{
|
2017-04-13 07:34:42 +03:00
|
|
|
Name: "linux-mips64le",
|
|
|
|
HostType: "host-linux-mips64le",
|
|
|
|
SkipSnapshot: true,
|
2016-11-03 20:35:15 +03:00
|
|
|
})
|
2016-03-01 07:49:24 +03:00
|
|
|
addBuilder(BuildConfig{
|
|
|
|
Name: "linux-s390x-ibm",
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
HostType: "host-linux-s390x",
|
cmd/coordinator, dashboard: remove some trybots, shard others wider
I'm aiming to have trybot runs finish in under 5 minutes.
This CL removes openbsd-386-gce58 and freebsd-386-gce101 from the trybot set.
openbsd-386-gce58 is the slowest builder. It has an average speed of
722 seconds (and 95 percentile of 923 seconds) over the past week, and
that's sharded over 4 machines. Too slow. It's not worth the resources
to keep it as a trybot. It hasn't caught any interesting bugs. This
builder will still run, but not as a pre-submit trybot.
freebsd-386-gce101 is not slow, but we're removing it to shift its
resources to shard other builders wider.
The coordinator now supports varying the build sharding width based on
whether a build is for a trybot or not. This CL defines separate
numbers for each, sharding builds wider as needed for some trybots.
freebsd-amd64-gce101 goes from 4 to 5 machines in try runs, and down
to 3 when not in try runs.
linux-amd64-race gets one more machine during try runs, and one fewer
in regular runs.
linux-arm goes from 7 machines always, to 3 or 8, depending on whether
it's a try run.
openbsd-amd64-58 goes from 4 to 3 or 6.
windows-amd64-gce goes from 4 to 2 or 6.
windows-amd64-race goes from 4 to 2 or 6.
darwin-amd64-10_11 goes from 3 to 3 or 4.
I'll see how these do over the next few days and readjust as needed.
Also in this CL: fix the constants for the expected duration of
make.bash, which impact when we schedule the creation of test sharding
helper buildlets. We were creating them too early before, wasting
resources.
Change-Id: I38a9b24841e196f1eb668de058c49af8c1d1c64f
Reviewed-on: https://go-review.googlesource.com/29116
Reviewed-by: Quentin Smith <quentin@golang.org>
2016-09-14 01:45:48 +03:00
|
|
|
numTestHelpers: 0,
|
2016-03-01 07:49:24 +03:00
|
|
|
})
|
2016-08-30 23:32:33 +03:00
|
|
|
addBuilder(BuildConfig{
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
Name: "linux-s390x-crosscompile",
|
|
|
|
HostType: "host-s390x-cross-kube",
|
|
|
|
Notes: "s390x cross-compile builder for releases; doesn't run tests",
|
|
|
|
CompileOnly: true,
|
|
|
|
TryOnly: true, // but not in trybot set for now
|
2016-08-30 23:32:33 +03:00
|
|
|
env: []string{
|
|
|
|
"CGO_ENABLED=1",
|
|
|
|
"GOARCH=s390x",
|
|
|
|
"GOHOSTARCH=amd64",
|
|
|
|
"CC_FOR_TARGET=s390x-linux-gnu-gcc",
|
|
|
|
},
|
|
|
|
})
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
}
|
2016-08-30 23:32:33 +03:00
|
|
|
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
func (c BuildConfig) isMobile() bool {
|
|
|
|
return strings.HasPrefix(c.Name, "android-") || strings.HasPrefix(c.Name, "darwin-arm")
|
2015-01-15 23:46:22 +03:00
|
|
|
}
|
|
|
|
|
2017-04-12 03:35:37 +03:00
|
|
|
// addBuilder adds c to the Builders map after doing some sanity
|
|
|
|
// checks.
|
2015-01-15 23:46:22 +03:00
|
|
|
func addBuilder(c BuildConfig) {
|
|
|
|
if c.Name == "" {
|
|
|
|
panic("empty name")
|
|
|
|
}
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
if c.isMobile() && c.HostType == "" {
|
|
|
|
htyp := "host-" + c.Name
|
|
|
|
if _, ok := Hosts[htyp]; !ok {
|
|
|
|
Hosts[htyp] = &HostConfig{
|
|
|
|
HostType: htyp,
|
|
|
|
IsReverse: true,
|
|
|
|
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-darwin-amd64.tar.gz",
|
|
|
|
ReverseAliases: []string{c.Name},
|
|
|
|
}
|
|
|
|
c.HostType = htyp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if c.HostType == "" {
|
|
|
|
panic(fmt.Sprintf("missing HostType for builder %q", c.Name))
|
|
|
|
}
|
2015-01-15 23:46:22 +03:00
|
|
|
if _, dup := Builders[c.Name]; dup {
|
|
|
|
panic("dup name")
|
|
|
|
}
|
all: split builder config into builder & host configs
Our builders are named of the form "GOOS-GOARCH" or
"GOOS-GOARCH-suffix".
Over time we've grown many builders. This CL doesn't change
that. Builders continue to be named and operate as before.
Previously the build configuration file (dashboard/builders.go) made
each builder type ("linux-amd64-race", etc) define how to create a
host running a buildlet of that type, even though many builders had
identical host configs. For example, these builders all share the same
host type (a Kubernetes container):
linux-amd64
linux-amd64-race
linux-386
linux-386-387
And these are the same host type (a GCE VM):
windows-amd64-gce
windows-amd64-race
windows-386-gce
This CL creates a new concept of a "hostType" which defines how
the buildlet is created (Kube, GCE, Reverse, and how), and then each
builder itself references a host type.
Users never see the hostType. (except perhaps in gomote list output)
But they at least never need to care about them.
Reverse buildlets now can only be one hostType at a time, which
simplifies things. We were no longer using multiple roles per machine
once moving to VMs for OS X.
gomote continues to operate as it did previously but its underlying
protocol changed and clients will need to be updated. As a new
feature, gomote now has a new flag to let you reuse a buildlet host
connection for different builder rules if they share the same
underlying host type. But users can ignore that.
This CL is a long-standing TODO (previously attempted and aborted) and
will make many things easier and faster, including the linux-arm
cross-compilation effort, and keeping pre-warmed buildlets of VM types
ready to go.
Updates golang/go#17104
Change-Id: Iad8387f48680424a8441e878a2f4762bf79ea4d2
Reviewed-on: https://go-review.googlesource.com/29551
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
2016-09-22 00:27:37 +03:00
|
|
|
if _, ok := Hosts[c.HostType]; !ok {
|
|
|
|
panic(fmt.Sprintf("undefined HostType %q for builder %q", c.HostType, c.Name))
|
2015-09-09 01:18:47 +03:00
|
|
|
}
|
2017-04-13 07:34:42 +03:00
|
|
|
if c.SkipSnapshot && (c.numTestHelpers > 0 || c.numTryTestHelpers > 0) {
|
|
|
|
panic(fmt.Sprintf("config %q's SkipSnapshot is not compatible with sharded test helpers", c.Name))
|
|
|
|
}
|
2017-04-12 03:35:37 +03:00
|
|
|
|
|
|
|
types := 0
|
|
|
|
for _, fn := range []func() bool{c.IsReverse, c.IsKube, c.IsGCE} {
|
|
|
|
if fn() {
|
|
|
|
types++
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if types != 1 {
|
|
|
|
panic(fmt.Sprintf("build config %q host type inconsistent (must be Reverse, Kube, or GCE)", c.Name))
|
|
|
|
}
|
|
|
|
|
2015-01-15 23:46:22 +03:00
|
|
|
Builders[c.Name] = c
|
|
|
|
}
|
2017-04-12 03:35:37 +03:00
|
|
|
|
|
|
|
// TrybotBuilderNames returns the names of the builder configs
|
|
|
|
// with the TryBot field set true.
|
|
|
|
func TrybotBuilderNames() []string {
|
|
|
|
var ret []string
|
|
|
|
for name, conf := range Builders {
|
|
|
|
if conf.TryBot {
|
|
|
|
ret = append(ret, name)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sort.Strings(ret)
|
|
|
|
return ret
|
|
|
|
}
|