The windows-amd64-2008 is the same OS as windows-amd64-gce but is an
auto-generated image.
TODO: 386 auto-generated Windows builders, and then maybe we'll move
TryBots to Windows Server 2016. One step at a time. This should be a
no-op. I verified performance is the same.
Updates golang/go#17513
Change-Id: I34984db14b87d03771e15465978b1687df6895f7
Reviewed-on: https://go-review.googlesource.com/41611
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Benchmarks are treated as unit tests and distributed to the test
helpers, which allows them to fit in our 5m trybot budget.
Currently we only run the go1 and x/benchmarks. Running package
benchmarks is a TODO.
This feature is disabled by default, and is enabled by the
"farmer-run-bench" project attribute.
Updates golang/go#19178
Updates golang/go#19871
Change-Id: I9c3a14da60c3662e7e2cb4e71953060915cc4364
Reviewed-on: https://go-review.googlesource.com/38306
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Adds an initial set of github handles for builder owners and displays a link in
coordinator if set.
Updates golang/go#19848
Change-Id: I85aa98a48b8a094482b22021b32b465af5313bbe
Reviewed-on: https://go-review.googlesource.com/40654
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The snapshot code had an old workaround that's no longer relevant. Remove it.
Also, add a BuildConfig.SkipSnapshot bool, and use it for the slow
mips builders.
Fixesgolang/go#19953
Change-Id: I114bb0a524184eaaae5be4715ce63f6adc519c2e
Reviewed-on: https://go-review.googlesource.com/40505
Reviewed-by: Sarah Adams <shadams@google.com>
Because almost all the BuildConfig methods indirectly call AllScript,
add in a little defense against accident creation of BuildConfig zero
values (of the value type, not nil pointers). This can happen by doing
a lookup in a map[string]dashboard.BuildConfig and then calling a
method on it. We should probably move everything to pointer values of
BuildConfig. There aren't many value types remaining.
This paranoia isn't a result of any bug yet, but rather than the result
of discussion on CL 40477.
Change-Id: Ic273d4de28ac8930b56bc232bf77a9ba39f99fad
Reviewed-on: https://go-review.googlesource.com/40497
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Optimized image to be smaller as well.
Before:
REPOSITORY TAG IMAGE ID CREATED SIZE
go-builders/linux-x86-clang latest b08175ba2529 About a minute ago 1.01GB
After:
REPOSITORY TAG IMAGE ID CREATED SIZE
go-builders/linux-x86-clang latest 1545f177bd2f About a minute ago 543MB
Change-Id: I3e0d6007aed3231215feb653e2a11f29a01a5e45
Reviewed-on: https://go-review.googlesource.com/40472
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
And update it. What we used to call "sid" was probably ancient.
Change-Id: I76c1aad60eb655513119eaad0550ba5e0df3e9c5
Reviewed-on: https://go-review.googlesource.com/40399
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-- move policy of which builders are trybots out of coordinator
and into dashboard/builders.go.
-- move some GCE-specific code from coordinator.go to gce.go.
-- rename an old "watcher" reference to "gitmirror"
-- add some docs
-- actually add the Alpine builder, missing from https://golang.org/cl/33890Fixesgolang/go#17891
Change-Id: Ia63671ca09aec322ed57b3663e0ac5042cdc56f2
Reviewed-on: https://go-review.googlesource.com/40395
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The server has 96 cores and 128 GB of RAM, so run 20 builders on it.
This adds the Dockerfile each builder runs in, and the machinery to
run 20 copies of the Docker container.
Also reduce some logspam in the buildlet's shutdown.
(The dashboard/builders.go entry for this builder was added previously
in https://golang.org/cl/39851)
Fixesgolang/go#19929
Change-Id: I8537eee52c002dc9efcadcfb7e78b3a5db07ae44
Reviewed-on: https://go-review.googlesource.com/40392
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Since farmer.golang.org has a valid certificate in production now, we
should use that certificate for retrieving data.
Change-Id: I3685d84953ea11e6ac09b4692fa27c73538a565c
Reviewed-on: https://go-review.googlesource.com/39290
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
CL 39130 was a bit too aggressive and combined CC_FOR_TARGET on the
Android builder host. CC_FOR_TARGET varies per GOARCH, so split it up
and specify it on each reverse builder.
Change-Id: I58daeb5f77ecea5d30fe264275b753f6ca487812
Reviewed-on: https://go-review.googlesource.com/39231
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Even though both mobile builders will run off the same host Mac Mini,
Android and iOS builds can run simultaneously. Split the eliasnaur
host in two to allow that.
Change-Id: If3db4dadb56b8a4b212dcbb3015e3e6c1b69608d
Reviewed-on: https://go-review.googlesource.com/39130
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
To allow multiple build configs (e.g. darwin/arm and darwin/arm64) on
the same builder host, the host must be added to the Hosts map and
its reverse builders registered to it through HostType.
Change-Id: I0608ffb183f3107a039e963c06f6928606d2cf08
Reviewed-on: https://go-review.googlesource.com/38830
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Will be used for dynamic creation/destruction of Mac VMs in subsequent CL.
Updates golang/go#9495 (Mac virtualization)
Updates golang/go#15760 (monitoring)
Change-Id: I48b17589b258d5d742bad5a3ddae18de98778149
Reviewed-on: https://go-review.googlesource.com/37457
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Start of OpenBSD 6.0 builders. Not trybots yet, and don't have 386 yet.
Waiting on tmpfs resolution first, and then I'll delete the 5.8 builders.
Updates golang/go#16951
Change-Id: Ib9c68090d531344125ac5410e732ae0c664a0dc4
Reviewed-on: https://go-review.googlesource.com/34276
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
On the plan9-386 builder, the cmd/go tests sometimes
take a little more than 3 minutes to complete.
We set GO_TEST_TIMEOUT_SCALE=2, so the cmd/go tests
doesn't time out anymore.
Updates golang/go#18047
Change-Id: I16ce26917ee785ebed8ad16e0370d575a0fdd638
Reviewed-on: https://go-review.googlesource.com/33774
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The Makefile used to create the Docker image used by the Kubernetes builder
creates an image with a different name than the dashboard expects. This
change updates the dashboard to pull the image created by the Makefile.
Change-Id: Idcf8f5867d9995205c6c8482a7e8bfa1b63d9551
Reviewed-on: https://go-review.googlesource.com/28416
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Saves 4.5 minutes or so by using fast x86 machines to build the ARM
build instead of running make.bash on Scaleway ARM machines.
We still run the tests on ARM, and have a separate builder only
running make.bash on ARM (see prior golang.org/cl/29670)
Fixesgolang/go#17105
Updates golang/go#17104
Change-Id: I1cb7b0e5b1cc8b644195f262328884ed3aff120a
Reviewed-on: https://go-review.googlesource.com/29677
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This is a new builder in prep for the change to the "linux-arm"
builder where the GOARCH=arm make.bash will be cross-compiled from a
Kubernetes container on fast hardware.
Updates golang/go#17105 (cross-compile ARM builders' make.bash)
Updates golang/go#17104 (5 minute trybots)
Change-Id: Icfd2644d77639f731151abe54839322960418254
Reviewed-on: https://go-review.googlesource.com/29670
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
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>
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>
Ignore the old darwin-{amd64,386}-10_10 builders. Don't give them an
error, but pretend they don't exist.
Also: switch trybots from OS X 10.10 to OS X 10.11, and re-enable
sharding. Let's hope for the best. See golang/go#12979.
This also enables subrepo tests for all OS X versions.
darwin-386-* is currently offline, pending some golang/go#17009
Updates golang/go#9495 (OS X virtualization)
Change-Id: I4d53a79087404b5e8051d1aff0c668a92625f442
Reviewed-on: https://go-review.googlesource.com/28583
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>