build: golang.org/x/build/dashboard Index | Files

package dashboard

import "golang.org/x/build/dashboard"

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

Index

Package Files

builders.go

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

var Hosts = map[string]*HostConfig{
    "host-linux-jessie": &HostConfig{
        Notes:           "Debian Jessie, our standard Linux container image.",
        ContainerImage:  "linux-x86-jessie:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
    "host-linux-stretch": &HostConfig{
        Notes:           "Debian Stretch",
        ContainerImage:  "linux-x86-stretch:latest",
        machineType:     "n1-standard-4",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
    "host-linux-stretch-morecpu": &HostConfig{
        Notes:           "Debian Stretch, but on n1-highcpu-8",
        ContainerImage:  "linux-x86-stretch:latest",
        machineType:     "n1-highcpu-16",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
    "host-linux-stretch-vmx": &HostConfig{
        Notes:           "Debian Stretch w/ Nested Virtualization (VMX CPU bit) enabled, for testing",
        ContainerImage:  "linux-x86-stretch:latest",
        NestedVirt:      true,
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
    "host-linux-armhf-cross": &HostConfig{
        Notes:           "Debian Jessie with armhf cross-compiler, built from env/crosscompile/linux-armhf-jessie",
        ContainerImage:  "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:           "Debian Jessie with armel cross-compiler, from env/crosscompile/linux-armel-stretch",
        ContainerImage:  "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-kube": &HostConfig{
        Notes:           "Container with Native Client binaries.",
        ContainerImage:  "linux-x86-nacl:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-js-wasm": &HostConfig{
        Notes:           "Container with node.js for testing js/wasm.",
        ContainerImage:  "js-wasm:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-s390x-cross-kube": &HostConfig{
        Notes:           "Container with s390x cross-compiler.",
        ContainerImage:  "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:           "Alpine container",
        ContainerImage:  "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:           "Container with clang.",
        ContainerImage:  "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.",
        ContainerImage:  "linux-x86-sid:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
    },
    "host-linux-fedora": &HostConfig{
        Notes:           "Fedora 30",
        ContainerImage:  "linux-x86-fedora:latest",
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/goboot"},
    },
    "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-openbsd-amd64-62": &HostConfig{
        VMImage:            "openbsd-amd64-62",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz",
        Notes:              "OpenBSD 6.2; GCE VM is built from script in build/env/openbsd-amd64",
        SSHUsername:        "gopher",
    },
    "host-openbsd-386-62": &HostConfig{
        VMImage:            "openbsd-386-62-a",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz",
        Notes:              "OpenBSD 6.2; GCE VM is built from script in build/env/openbsd-386",
        SSHUsername:        "gopher",
    },
    "host-openbsd-amd64-64": &HostConfig{
        VMImage:            "openbsd-amd64-64-190129a",
        MinCPUPlatform:     "Intel Skylake",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-amd64-64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-amd64-go1_12.tar.gz",
        Notes:              "OpenBSD 6.4 with hw.smt=1; GCE VM is built from script in build/env/openbsd-amd64",
        SSHUsername:        "gopher",
    },
    "host-openbsd-386-64": &HostConfig{
        VMImage:            "openbsd-386-64",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "https://storage.googleapis.com/$BUCKET/buildlet.openbsd-386-64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-openbsd-386-go1_12.tar.gz",
        Notes:              "OpenBSD 6.4; 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-10_3": &HostConfig{
        VMImage:            "freebsd-amd64-103-b",
        Notes:              "FreeBSD 10.3; 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-10_4": &HostConfig{
        VMImage:            "freebsd-amd64-104",
        Notes:              "FreeBSD 10.4; GCE VM is built from script in build/env/freebsd-amd64",
        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-11_1": &HostConfig{
        VMImage:            "freebsd-amd64-111-b",
        Notes:              "FreeBSD 11.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-11_2": &HostConfig{
        VMImage:            "freebsd-amd64-112",
        Notes:              "FreeBSD 11.2; GCE VM is built from script in build/env/freebsd-amd64",
        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-12_0": &HostConfig{
        VMImage:            "freebsd-amd64-120-v1",
        Notes:              "FreeBSD 12.0; GCE VM is built from script in build/env/freebsd-amd64",
        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-netbsd-amd64-8_0": &HostConfig{
        VMImage:            "netbsd-amd64-8-0-2018q1",
        Notes:              "NetBSD 8.0RC1; GCE VM is built from script in build/env/netbsd-amd64",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-amd64",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-amd64-2da6b33.tar.gz",
        SSHUsername:        "root",
    },

    "host-netbsd-386-8_0": &HostConfig{
        VMImage:            "netbsd-i386-8-0-2018q1",
        Notes:              "NetBSD 8.0RC1; GCE VM is built from script in build/env/netbsd-386",
        machineType:        "n1-highcpu-4",
        buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.netbsd-386",
        goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-netbsd-386-0b3b511.tar.gz",
        SSHUsername:        "root",
    },
    "host-netbsd-arm-bsiegert": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        env:         []string{"GOROOT_BOOTSTRAP=/usr/pkg/go112"},
        OwnerGithub: "bsiegert",
    },
    "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-0intro": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        OwnerGithub: "0intro",
    },
    "host-plan9-386-gce": &HostConfig{
        VMImage:            "plan9-386-v7",
        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=3"},
    },
    "host-windows-amd64-2008": &HostConfig{
        VMImage:            "windows-amd64-server-2008r2-v7",
        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",
        SSHUsername:        "gopher",
    },
    "host-windows-amd64-2012": &HostConfig{
        VMImage:            "windows-amd64-server-2012r2-v7",
        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",
        SSHUsername:        "gopher",
    },
    "host-windows-amd64-2016": &HostConfig{
        VMImage:            "windows-amd64-server-2016-v7",
        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",
        SSHUsername:        "gopher",
    },
    "host-windows-arm-iotcore": &HostConfig{
        IsReverse:   true,
        ExpectNum:   1,
        OwnerGithub: "jordanrh1",
        env:         []string{"GOROOT_BOOTSTRAP=C:\\Data\\Go"},
    },
    "host-darwin-10_8": &HostConfig{
        IsReverse: true,
        ExpectNum: 0,
        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: 3,
        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: 7,
        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: 3,
        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-darwin-10_14": &HostConfig{
        IsReverse: true,
        ExpectNum: 7,
        Notes:     "MacStadium macOS Mojave (10.14) VM under VMWare ESXi",
        env: []string{
            "GOROOT_BOOTSTRAP=/Users/gopher/goboot",
        },
        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:     "root",
        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:     "root",
        HermeticReverse: false,
    },
    "host-linux-ppc64le-power9-osu": &HostConfig{
        Notes:           "Debian jessie; run by IBM",
        OwnerGithub:     "ceseo",
        IsReverse:       true,
        env:             []string{"GOROOT_BOOTSTRAP=/usr/local/go-bootstrap"},
        ReverseAliases:  []string{"linux-ppc64le-power9osu"},
        SSHUsername:     "root",
        HermeticReverse: false,
    },
    "host-linux-arm64-packet": &HostConfig{
        Notes:           "On 96 core packet.net host (Xenial) in Docker containers (Debian Buster); 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-oracle-amd64-oraclerel": &HostConfig{
        Notes:       "Oracle Solaris amd64 Release System",
        Owner:       "",
        OwnerGithub: "",
        IsReverse:   true,
        ExpectNum:   1,
        env:         []string{"GOROOT_BOOTSTRAP=/opt/golang/go-solaris-amd64-bootstrap"},
    },
    "host-linux-mipsle-mengzhuo": &HostConfig{
        Notes:       "Loongson 3A Box hosted by Meng Zhuo",
        OwnerGithub: "mengzhuo",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/lib/golang",
            "GOMIPS64=hardfloat",
        },
    },
    "host-darwin-amd64-zenly-ios": &HostConfig{
        Notes:       "MacBook Pro hosted by Zenly, running the ios reverse buildlet",
        OwnerGithub: "znly",
        IsReverse:   true,
        ExpectNum:   1,
        env: []string{
            "GOROOT_BOOTSTRAP=/usr/local/Cellar/1.10.3/libexec",
            "GOHOSTARCH=amd64",
        },
    },
    "host-darwin-arm64-corellium-ios": &HostConfig{
        Notes:       "Virtual iOS devices hosted by Zenly on Corellium",
        OwnerGithub: "znly",
        IsReverse:   true,
        ExpectNum:   3,
        env: []string{
            "GOROOT_BOOTSTRAP=/var/mobile/go-darwin-arm64-bootstrap",
        },
    },
    "host-android-arm64-corellium-android": &HostConfig{
        Notes:       "Virtual Android devices hosted by Zenly on Corellium",
        OwnerGithub: "znly",
        IsReverse:   true,
        ExpectNum:   3,
        env: []string{
            "GOROOT_BOOTSTRAP=/data/data/com.termux/files/home/go-android-arm64-bootstrap",
        },
    },
    "host-aix-ppc64-osuosl": &HostConfig{
        Notes:       "AIX 7.2 VM on OSU; run by Tony Reix",
        OwnerGithub: "trex58",
        IsReverse:   true,
        ExpectNum:   1,
        env:         []string{"GOROOT_BOOTSTRAP=/opt/freeware/lib/golang"},
    },
    "host-android-amd64-emu": &HostConfig{
        Notes:           "Debian Buster w/ Android SDK + emulator (use nested virt)",
        ContainerImage:  "android-amd64-emu:bff27c0c9263",
        KonletVMImage:   "android-amd64-emu",
        NestedVirt:      true,
        buildletURLTmpl: "http://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
        env:             []string{"GOROOT_BOOTSTRAP=/go1.4"},
        SSHUsername:     "root",
    },
}

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

type BuildConfig Uses

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-jessie".
    HostType string

    Notes string // notes for humans

    CompileOnly bool // if true, compile tests, but don't run them
    FlakyNet    bool // network tests are flaky (try anyway, but ignore some failures)

    // MinimumGoVersion optionally specifies the minimum Go version
    // this builder is allowed to use. It can be useful for skipping
    // builders that are too new and no longer support some supported
    // Go versions. It doesn't need to be set for builders that support
    // all supported Go versions.
    //
    // Note: This field currently has effect on trybot runs only.
    //
    // TODO: unexport this and make buildsRepoAtAll return false on too-old
    // of repos. The callers in coordinator will need updating.
    MinimumGoVersion types.MajorMinor

    // 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, at which point this field
    // should be deleted.
    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 TryBuildersForProject Uses

func TryBuildersForProject(proj, branch, goBranch string) []*BuildConfig

TryBuildersForProject returns the builders that should run as part of a TryBot set for the given project. The project argument is of the form "go", "net", "sys", etc. The branch is the branch of that project ("master", "release-branch.go1.12", etc) The goBranch is the branch of Go to use. If proj == "go", then branch == goBranch.

func (*BuildConfig) AllScript Uses

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 Uses

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) BuildsRepoPostSubmit Uses

func (c *BuildConfig) BuildsRepoPostSubmit(repo, branch, goBranch string) bool

BuildsRepoPostSubmit reports whether the build configuration type c should build the given repo ("go", "net", etc) and branch ("master", "release-branch.go1.12") as a post-submit build that shows up on https://build.golang.org/.

func (*BuildConfig) BuildsRepoTryBot Uses

func (c *BuildConfig) BuildsRepoTryBot(repo, branch, goBranch string) bool

BuildsRepoTryBot reports whether the build configuration type c should build the given repo ("go", "net", etc) and branch ("master", "release-branch.go1.12") as a trybot.

func (*BuildConfig) DistTestsExecTimeout Uses

func (c *BuildConfig) DistTestsExecTimeout(distTests []string) time.Duration

DistTestsExecTimeout returns how long the coordinator should wait for a cmd/dist test execution to run the provided dist test names.

func (*BuildConfig) Env Uses

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

Env returns the environment variables this builder should run with.

func (*BuildConfig) FilePathJoin Uses

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 Uses

func (c *BuildConfig) GOARCH() string

func (*BuildConfig) GOOS Uses

func (c *BuildConfig) GOOS() string

func (*BuildConfig) GoBootstrapURL Uses

func (c *BuildConfig) GoBootstrapURL(e *buildenv.Environment) string

GoBootstrapURL returns the URL of a built Go 1.4+ tar.gz for the build configuration type c, or empty string if there isn't one.

func (*BuildConfig) GoInstallRacePackages Uses

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

func (*BuildConfig) GorootFinal Uses

func (c *BuildConfig) GorootFinal() string

GorootFinal returns the default install location for releases for this platform.

func (*BuildConfig) IsContainer Uses

func (c *BuildConfig) IsContainer() bool

func (*BuildConfig) IsLongTest Uses

func (c *BuildConfig) IsLongTest() bool

func (*BuildConfig) IsRace Uses

func (c *BuildConfig) IsRace() bool

func (*BuildConfig) IsReverse Uses

func (c *BuildConfig) IsReverse() bool

func (*BuildConfig) IsTryOnly Uses

func (c *BuildConfig) IsTryOnly() bool

func (*BuildConfig) IsVM Uses

func (c *BuildConfig) IsVM() bool

func (*BuildConfig) MakeScript Uses

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 Uses

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) ModulesEnv Uses

func (c *BuildConfig) ModulesEnv(repo string) (env []string)

ModulesEnv returns the extra module-specific environment variables to append to this builder as a function of the repo being built ("go", "oauth2", "net", etc).

func (*BuildConfig) NeedsGoProxy Uses

func (c *BuildConfig) NeedsGoProxy() bool

func (*BuildConfig) NumTestHelpers Uses

func (c *BuildConfig) NumTestHelpers(isTry bool) int

func (*BuildConfig) OutboundNetworkAllowed Uses

func (c *BuildConfig) OutboundNetworkAllowed() bool

OutboundNetworkAllowed reports whether this builder should be allowed to make outbound network requests. This is only enforced on some builders. (Currently most Linux ones)

func (BuildConfig) OwnerGithub Uses

func (c BuildConfig) OwnerGithub() string

OwnerGithub returns the Github handle of the owner.

func (BuildConfig) ShortOwner Uses

func (c BuildConfig) ShortOwner() string

ShortOwner returns a short human-readable owner.

func (*BuildConfig) ShouldRunDistTest Uses

func (c *BuildConfig) ShouldRunDistTest(distTest string, isTry bool) bool

ShouldRunDistTest reports whether the named cmd/dist test should be run for this build config. The isTry parameter is whether this is for a trybot (pre-submit) run.

In general, this returns true, unless a builder has configured it otherwise. Certain portable, slow tests are only run on fast builders in trybot mode.

func (*BuildConfig) ShouldTestPackageInGOPATHMode Uses

func (*BuildConfig) ShouldTestPackageInGOPATHMode(importPath string) bool

ShouldTestPackageInGOPATHMode is used to control whether the package with the specified import path should be tested in GOPATH mode.

When running tests for all golang.org/* repositories in GOPATH mode, this method is called repeatedly with the full import path of each package that is found and is being considered for testing in GOPATH mode. It's not used and has no effect on import paths in the main "go" repository. It has no effect on tests done in module mode.

When considering making changes here, keep the release policy in mind:

https://golang.org/doc/devel/release.html#policy

func (*BuildConfig) SplitMakeRun Uses

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 cmd/dist test. 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 Uses

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"
    ContainerImage 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
    MinCPUPlatform string // optional; https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform

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

    // Container image options, if ContainerImage != "":
    NestedVirt    bool   // container requires VMX nested virtualization
    KonletVMImage string // optional VM image (containing konlet) to use instead of default

    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-jessie" can serve linux-amd64, linux-amd64-race, linux-386, linux-386-387, etc.

func (*HostConfig) BuildletBinaryURL Uses

func (c *HostConfig) BuildletBinaryURL(e *buildenv.Environment) string

BuildletBinaryURL returns the public URL of this builder's buildlet.

func (*HostConfig) ContainerVMImage Uses

func (c *HostConfig) ContainerVMImage() string

ContainerVMImage returns the base VM name (not the fully qualified URL resource name of the VM) that starts the konlet program that pulls & runs a container. The empty string means that no particular VM image is required and the caller can run this container in any host.

This method is only applicable when c.IsContainer() is true.

func (*HostConfig) GCENumCPU Uses

func (c *HostConfig) GCENumCPU() int

GCENumCPU reports the number of GCE CPUs this buildlet requires.

func (*HostConfig) IsContainer Uses

func (c *HostConfig) IsContainer() bool

func (*HostConfig) IsHermetic Uses

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) IsVM Uses

func (c *HostConfig) IsVM() bool

func (*HostConfig) MachineType Uses

func (c *HostConfig) MachineType() string

MachineType returns the GCE machine type to use for this builder.

func (*HostConfig) PoolName Uses

func (c *HostConfig) PoolName() string

PoolName returns a short summary of the builder's host type for the https://farmer.golang.org/builders page.

Package dashboard imports 9 packages (graph) and is imported by 10 packages. Updated 2019-10-17. Refresh now. Tools for package owners.