dashboard

package
v0.0.0-...-9f8a61a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2017 License: BSD-3-Clause Imports: 6 Imported by: 0

README

GoDoc

golang.org/x/build/dashboard

Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.

Documentation

Overview

Package dashboard contains shared configuration and logic used by various pieces of the Go continuous build system.

Index

Constants

This section is empty.

Variables

View Source
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. Initialization happens below, via calls to addBuilder.

View Source
var Hosts = map[string]*HostConfig{
	"host-linux-kubestd": &HostConfig{
		Notes:           "Kubernetes container on GKE.",
		KubeImage:       "linux-x86-std-kube:latest",
		buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
		env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
		SSHUsername:     "root",
	},
	"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-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"},
	},
	"host-linux-amd64-localdev": &HostConfig{
		IsReverse:   true,
		ExpectNum:   0,
		Notes:       "for localhost development of buildlets/gomote/coordinator only",
		SSHUsername: os.Getenv("USER"),
	},
	"host-nacl-arm-davecheney": &HostConfig{
		IsReverse:   true,
		ExpectNum:   1,
		Notes:       "Raspberry Pi 3",
		OwnerGithub: "davecheney",
	},
	"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-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"},
	},
	"host-linux-clang": &HostConfig{
		Notes:           "Kubernetes container on GKE with clang.",
		KubeImage:       "linux-x86-clang:latest",
		buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
		env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
	},
	"host-linux-sid": &HostConfig{
		Notes:           "Debian sid, updated occasionally.",
		KubeImage:       "linux-x86-sid:latest",
		buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
		env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
	},
	"host-linux-arm-scaleway": &HostConfig{
		IsReverse:       true,
		HermeticReverse: true,
		ExpectNum:       50,
		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
		ReverseAliases:  []string{"linux-arm", "linux-arm-arm5"},
		SSHUsername:     "root",
	},
	"host-linux-arm5spacemonkey": &HostConfig{
		IsReverse:      true,
		ExpectNum:      3,
		env:            []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
		ReverseAliases: []string{"linux-arm-arm5spacemonkey"},
		OwnerGithub:    "zeebo",
	},
	"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",
		SSHUsername:        "gopher",
	},
	"host-openbsd-386-60": &HostConfig{
		VMImage:            "openbsd-386-60",
		machineType:        "n1-highcpu-4",
		buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386",
		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",
		SSHUsername:        "gopher",
	},
	"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",
		SSHUsername:        "gopher",
	},
	"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"},
		SSHUsername:        "gopher",
	},
	"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",
		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
		env:                []string{"CC=clang"},
		SSHUsername:        "gopher",
	},
	"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",
		machineType:        "n1-highcpu-2",
		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64",
		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64.tar.gz",
		SSHUsername:        "gopher",
	},
	"host-dragonfly-amd64-tdfbsd": &HostConfig{
		IsReverse:      true,
		ExpectNum:      1,
		env:            []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
		ReverseAliases: []string{"dragonfly-amd64"},
		OwnerGithub:    "tdfbsd",
	},
	"host-freebsd-arm-paulzhol": &HostConfig{
		IsReverse:      true,
		ExpectNum:      1,
		Notes:          "Cubiboard2 1Gb RAM dual-core Cortex-A7 (Allwinner A20), FreeBSD 11.1-RELEASE",
		env:            []string{"GOROOT_BOOTSTRAP=/usr/home/paulzhol/go1.4"},
		ReverseAliases: []string{"freebsd-arm-paulzhol"},
		OwnerGithub:    "paulzhol",
	},
	"host-plan9-arm-0intro": &HostConfig{
		IsReverse:   true,
		ExpectNum:   1,
		Notes:       "Raspberry Pi 3 Model B, Plan 9 from Bell Labs",
		OwnerGithub: "0intro",
	},
	"host-plan9-amd64-0intro": &HostConfig{
		IsReverse:   true,
		ExpectNum:   1,
		OwnerGithub: "0intro",
	},
	"host-plan9-386-gce": &HostConfig{
		VMImage:            "plan9-386-v5",
		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",
		env:         []string{"GO_TEST_TIMEOUT_SCALE=2"},
	},
	"host-windows-amd64-2008": &HostConfig{
		VMImage:            "windows-amd64-server-2008r2-v4",
		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{
		VMImage:            "windows-amd64-server-2012r2-v4",
		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{
		VMImage:            "windows-amd64-server-2016-v4",
		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-darwin-10_8": &HostConfig{
		IsReverse: true,
		ExpectNum: 1,
		Notes:     "MacStadium OS X 10.8 VM under VMWare ESXi",
		env: []string{
			"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
		},
		ReverseAliases:  []string{"darwin-amd64-10_8"},
		SSHUsername:     "gopher",
		HermeticReverse: false,
	},
	"host-darwin-10_10": &HostConfig{
		IsReverse: true,
		ExpectNum: 2,
		Notes:     "MacStadium OS X 10.10 VM under VMWare ESXi",
		env: []string{
			"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
		},
		ReverseAliases:  []string{"darwin-amd64-10_10"},
		SSHUsername:     "gopher",
		HermeticReverse: false,
	},
	"host-darwin-10_11": &HostConfig{
		IsReverse: true,
		ExpectNum: 15,
		Notes:     "MacStadium OS X 10.11 VM under VMWare ESXi",
		env: []string{
			"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
		},
		ReverseAliases:  []string{"darwin-amd64-10_11"},
		SSHUsername:     "gopher",
		HermeticReverse: false,
	},
	"host-darwin-10_12": &HostConfig{
		IsReverse: true,
		ExpectNum: 2,
		Notes:     "MacStadium OS X 10.12 VM under VMWare ESXi",
		env: []string{
			"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
		},
		ReverseAliases:  []string{"darwin-amd64-10_12"},
		SSHUsername:     "gopher",
		HermeticReverse: true,
	},
	"host-linux-s390x": &HostConfig{
		Notes:          "run by IBM",
		OwnerGithub:    "mundaym",
		IsReverse:      true,
		env:            []string{"GOROOT_BOOTSTRAP=/var/buildlet/go-linux-s390x-bootstrap"},
		ReverseAliases: []string{"linux-s390x-ibm"},
	},
	"host-linux-ppc64-osu": &HostConfig{
		Notes:           "Debian jessie; run by Go team on osuosl.org",
		IsReverse:       true,
		ExpectNum:       5,
		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
		ReverseAliases:  []string{"linux-ppc64-buildlet"},
		SSHUsername:     "debian",
		HermeticReverse: false,
	},
	"host-linux-ppc64le-osu": &HostConfig{
		Notes:           "Debian jessie; run by Go team on osuosl.org",
		IsReverse:       true,
		ExpectNum:       5,
		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
		ReverseAliases:  []string{"linux-ppc64le-buildlet"},
		SSHUsername:     "debian",
		HermeticReverse: false,
	},
	"host-linux-arm64-linaro": &HostConfig{
		Notes:           "Ubuntu xenial; run by Go team, from linaro",
		IsReverse:       true,
		HermeticReverse: true,
		ExpectNum:       5,
		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
		ReverseAliases:  []string{"linux-arm64-buildlet"},
		SSHUsername:     "root",
	},
	"host-linux-arm64-packet": &HostConfig{
		Notes:           "On 96 core packet.net host (Xenial) in Docker containers (Jessie); run by Go team. See x/build/env/linux-arm64/packet",
		IsReverse:       true,
		HermeticReverse: true,
		ExpectNum:       20,
		env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
		SSHUsername:     "root",
	},
	"host-solaris-amd64": &HostConfig{
		Notes:          "run by Go team on Joyent, on a SmartOS 'infrastructure container'",
		IsReverse:      true,
		ExpectNum:      5,
		env:            []string{"GOROOT_BOOTSTRAP=/root/go-solaris-amd64-bootstrap"},
		ReverseAliases: []string{"solaris-amd64-smartosbuildlet"},
	},
	"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/golang/go-solaris-amd64-bootstrap"},
	},
	"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/golang/go-solaris-amd64-bootstrap"},
	},
	"host-linux-mips": &HostConfig{
		Notes:       "Run by Brendan Kirby, imgtec.com",
		OwnerGithub: "MIPSbkirby",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips",
			"GOARCH=mips",
			"GOHOSTARCH=mips",
			"GO_TEST_TIMEOUT_SCALE=4",
		},
		ReverseAliases: []string{"linux-mips"},
	},
	"host-linux-mipsle": &HostConfig{
		Notes:       "Run by Brendan Kirby, imgtec.com",
		OwnerGithub: "MIPSbkirby",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mipsle",
			"GOARCH=mipsle",
			"GOHOSTARCH=mipsle",
		},
		ReverseAliases: []string{"linux-mipsle"},
	},
	"host-linux-mips64": &HostConfig{
		Notes:       "Run by Brendan Kirby, imgtec.com",
		OwnerGithub: "MIPSbkirby",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64",
			"GOARCH=mips64",
			"GOHOSTARCH=mips64",
			"GO_TEST_TIMEOUT_SCALE=4",
		},
		ReverseAliases: []string{"linux-mips64"},
	},
	"host-linux-mips64le": &HostConfig{
		Notes:       "Run by Brendan Kirby, imgtec.com",
		OwnerGithub: "MIPSbkirby",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap-mips64le",
			"GOARCH=mips64le",
			"GOHOSTARCH=mips64le",
		},
		ReverseAliases: []string{"linux-mips64le"},
	},
	"host-darwin-amd64-eliasnaur-android": &HostConfig{
		Notes:       "Mac Mini hosted by Elias Naur, running the android reverse buildlet",
		OwnerGithub: "eliasnaur",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
			"GOHOSTARCH=amd64",
			"GOOS=android",
		},
	},
	"host-darwin-amd64-eliasnaur-ios": &HostConfig{
		Notes:       "Mac Mini hosted by Elias Naur, running the ios reverse buildlet",
		OwnerGithub: "eliasnaur",
		IsReverse:   true,
		ExpectNum:   1,
		env: []string{
			"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap",
			"GOHOSTARCH=amd64",
		},
	},
}

Hosts contains the names and configs of all the types of buildlets. They can be VMs, containers, or dedicated machines.

Functions

func TrybotBuilderNames

func TrybotBuilderNames() []string

TrybotBuilderNames returns the names of the builder configs with the TryBot field set true.

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

	TryBot      bool // be a trybot
	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)

	// 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

	// 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

	// RunBench causes the coordinator to run benchmarks on this buildlet type.
	RunBench bool

	// 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

	// 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

	// 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
	// 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) GoInstallRacePackages

func (c *BuildConfig) GoInstallRacePackages() []string

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) OwnerGithub

func (c BuildConfig) OwnerGithub() string

OwnerGithub returns the Github handle of the owner.

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-60"
	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

	// ReverseOptions:
	ExpectNum       int  // expected number of reverse buildlets of this type
	HermeticReverse bool // whether reverse buildlet has fresh env per conn

	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

	SSHUsername string // username to ssh as, empty means not supported

	// 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) IsHermetic

func (c *HostConfig) IsHermetic() bool

IsHermetic reports whether this host config gets a fresh environment (including /usr, /var, etc) for each execution. This is true for VMs, GKE, and reverse buildlets running their containers running in Docker, but false on some reverse buildlets.

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 https://farmer.golang.org/builders page.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL