Documentation ¶
Overview ¶
Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.
Index ¶
- Variables
- type BuildConfig
- func (c *BuildConfig) AllScript() string
- func (c *BuildConfig) AllScriptArgs() []string
- func (c *BuildConfig) BuildSubrepos() bool
- func (c *BuildConfig) Env() []string
- func (c *BuildConfig) FilePathJoin(x ...string) string
- func (c *BuildConfig) GOARCH() string
- func (c *BuildConfig) GOOS() string
- func (c *BuildConfig) GoBootstrapURL(e *buildenv.Environment) string
- func (c *BuildConfig) GorootFinal() string
- func (c *BuildConfig) IsGCE() bool
- func (c *BuildConfig) IsKube() bool
- func (c *BuildConfig) IsRace() bool
- func (c *BuildConfig) IsReverse() bool
- func (c *BuildConfig) MakeScript() string
- func (c *BuildConfig) MakeScriptArgs() []string
- func (c *BuildConfig) NumTestHelpers(isTry bool) int
- func (c *BuildConfig) RunScript() string
- func (c *BuildConfig) RunScriptArgs() []string
- func (c BuildConfig) ShortOwner() string
- func (c *BuildConfig) SplitMakeRun() bool
- type HostConfig
Constants ¶
This section is empty.
Variables ¶
var Builders = map[string]BuildConfig{}
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.
var Hosts = map[string]*HostConfig{ "host-linux-kubestd": &HostConfig{ Notes: "Kubernetes container on GKE.", KubeImage: "linux-x86-std:latest", buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, }, "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"}, }, "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"}, }, "host-linux-clang": &HostConfig{ Notes: "GCE VM with clang.", VMImage: "linux-buildlet-clang", buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, }, "host-linux-sid": &HostConfig{ Notes: "GCE VM with Debian sid.", VMImage: "linux-buildlet-sid", buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64", env: []string{"GOROOT_BOOTSTRAP=/go1.4"}, }, "host-linux-arm": &HostConfig{ IsReverse: true, env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"}, ReverseAliases: []string{"linux-arm", "linux-arm-arm5"}, }, "host-openbsd-amd64-58-gce": &HostConfig{ VMImage: "openbsd-amd64-58", machineType: "n1-highcpu-4", buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64", goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-openbsd-amd64-gce58.tar.gz", Notes: "OpenBSD 5.8; GCE VM is built from script in build/env/openbsd-amd64", }, "host-openbsd-386-58-gce": &HostConfig{ VMImage: "openbsd-386-58", machineType: "n1-highcpu-4", buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386", goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-openbsd-386-gce58.tar.gz", Notes: "OpenBSD 5.8; GCE VM is built from script in build/env/openbsd-386", }, "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", goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz", env: []string{"CC=clang"}, }, "host-netbsd-gce": &HostConfig{ VMImage: "netbsd-amd64-gce", Notes: "NetBSD tip; GCE VM is built from script in build/env/netbsd-amd64", machineType: "n1-highcpu-2", buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64", goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64.tar.gz", }, "host-plan9-386-gce": &HostConfig{ VMImage: "plan9-386-v3", 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", machineType: "n1-highcpu-4", }, "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, }, "host-darwin-10_8": &HostConfig{ IsReverse: true, 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, 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, Notes: "MacStadium OS X 10.11 VM under VMWare ESXi", env: []string{ "GOROOT_BOOTSTRAP=/Users/gopher/go1.4", }, ReverseAliases: []string{"darwin-amd64-10_11"}, }, "host-linux-s390x": &HostConfig{ Notes: "run by IBM", IsReverse: true, env: []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"}, ReverseAliases: []string{"linux-s390x-ibm"}, }, "host-linux-ppc64le-osu": &HostConfig{ Notes: "Debian jessie; run by Go team on osuosl.org", IsReverse: true, env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, ReverseAliases: []string{"linux-ppc64le-buildlet"}, }, "host-linux-arm64-linaro": &HostConfig{ Notes: "Ubuntu wily; run by Go team, from linaro", IsReverse: true, env: []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"}, ReverseAliases: []string{"linux-arm64-buildlet"}, }, "host-solaris-amd64": &HostConfig{ Notes: "run by Go team on Joyent, on a SmartOS 'infrastructure container'", IsReverse: true, env: []string{"GOROOT_BOOTSTRAP=/root/go-solaris-amd64-bootstrap"}, ReverseAliases: []string{"solaris-amd64-smartosbuildlet"}, }, }
Hosts contains the names and configs of all the types of buildlets. They can be VMs, containers, or dedicated machines.
Functions ¶
This section is empty.
Types ¶
type BuildConfig ¶
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 TryOnly bool // only used for trybots, and not regular builds CompileOnly bool // if true, compile tests, but don't run them FlakyNet bool // network tests are flaky (try anyway, but ignore some failures) // 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 // contains filtered or unexported fields }
A BuildConfig describes how to run a builder.
func (*BuildConfig) AllScript ¶
func (c *BuildConfig) AllScript() string
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 (*BuildConfig) AllScriptArgs ¶
func (c *BuildConfig) AllScriptArgs() []string
AllScriptArgs returns the set of arguments that should be passed to the all.bash-equivalent script. Usually empty.
func (*BuildConfig) BuildSubrepos ¶
func (c *BuildConfig) BuildSubrepos() bool
func (*BuildConfig) Env ¶
func (c *BuildConfig) Env() []string
func (*BuildConfig) FilePathJoin ¶
func (c *BuildConfig) FilePathJoin(x ...string) string
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 (*BuildConfig) GOARCH ¶
func (c *BuildConfig) GOARCH() string
func (*BuildConfig) GOOS ¶
func (c *BuildConfig) GOOS() string
func (*BuildConfig) GoBootstrapURL ¶
func (c *BuildConfig) GoBootstrapURL(e *buildenv.Environment) string
BuildletBinaryURL returns the public URL of this builder's buildlet.
func (*BuildConfig) GorootFinal ¶
func (c *BuildConfig) GorootFinal() string
GorootFinal returns the default install location for releases for this platform.
func (*BuildConfig) IsGCE ¶
func (c *BuildConfig) IsGCE() bool
func (*BuildConfig) IsKube ¶
func (c *BuildConfig) IsKube() bool
func (*BuildConfig) IsRace ¶
func (c *BuildConfig) IsRace() bool
func (*BuildConfig) IsReverse ¶
func (c *BuildConfig) IsReverse() bool
func (*BuildConfig) MakeScript ¶
func (c *BuildConfig) MakeScript() string
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 (*BuildConfig) MakeScriptArgs ¶
func (c *BuildConfig) MakeScriptArgs() []string
MakeScriptArgs returns the set of arguments that should be passed to the make.bash-equivalent script. Usually empty.
func (*BuildConfig) NumTestHelpers ¶
func (c *BuildConfig) NumTestHelpers(isTry bool) int
func (*BuildConfig) RunScript ¶
func (c *BuildConfig) RunScript() string
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 (*BuildConfig) RunScriptArgs ¶
func (c *BuildConfig) RunScriptArgs() []string
RunScriptArgs returns the set of arguments that should be passed to the run.bash-equivalent script.
func (BuildConfig) ShortOwner ¶
func (c BuildConfig) ShortOwner() string
ShortOwner returns a short human-readable owner.
func (*BuildConfig) SplitMakeRun ¶
func (c *BuildConfig) SplitMakeRun() bool
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.
type HostConfig ¶
type HostConfig struct { // HostType is the unique name of this host config. It is also // the key in the Hosts map. HostType string // Exactly 1 of these must be set: VMImage string // e.g. "openbsd-amd64-58" KubeImage string // e.g. "linux-buildlet-std:latest" (suffix after "gcr.io/<PROJ>/") IsReverse bool // if true, only use the reverse buildlet pool RegularDisk bool // if true, use spinning disk instead of SSD Owner string // optional email of owner; "bradfitz@golang.org", empty means golang-dev Notes string // notes for humans // 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 // contains filtered or unexported fields }
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.
func (*HostConfig) BuildletBinaryURL ¶
func (c *HostConfig) BuildletBinaryURL(e *buildenv.Environment) string
BuildletBinaryURL returns the public URL of this builder's buildlet.
func (*HostConfig) GCENumCPU ¶
func (c *HostConfig) GCENumCPU() int
GCENumCPU reports the number of GCE CPUs this buildlet requires.
func (*HostConfig) IsGCE ¶
func (c *HostConfig) IsGCE() bool
func (*HostConfig) IsKube ¶
func (c *HostConfig) IsKube() bool
func (*HostConfig) MachineType ¶
func (c *HostConfig) MachineType() string
MachineType returns the GCE machine type to use for this builder.
func (*HostConfig) PoolName ¶
func (c *HostConfig) PoolName() string
PoolName returns a short summary of the builder's host type for the http://farmer.golang.org/builders page.