Граф коммитов

425 Коммитов

Автор SHA1 Сообщение Дата
Brad Fitzpatrick c36309f89d dashboard, coordinator: add vetall builder
Change-Id: I331a27050e6f068aa47afa9012a9bb50e3b0c46a
Reviewed-on: https://go-review.googlesource.com/37573
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2017-02-28 18:28:05 +00:00
Brad Fitzpatrick dd8f567f4f cmd/buildlet: reboot solaris VMs per build
They reboot quickly. Make sure they don't leave cruft behind.

Change-Id: Ibab22676c90a87f276e456673e479e16f5f60f4f
Reviewed-on: https://go-review.googlesource.com/37494
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-27 04:49:12 +00:00
Brad Fitzpatrick 6ecbefa127 cmd/buildlet: disable screensaver on MacStadium Mac VMs
It was using some CPU.

Kinda useless to save a virtual screen.

Change-Id: If2ca5a39818e190b44f87299837a305cfe966c3c
Reviewed-on: https://go-review.googlesource.com/37493
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 23:48:04 +00:00
Brad Fitzpatrick dde7974771 all: enable NetBSD 7.0 builders
Fixes golang/go#8643

Change-Id: Id6a99d0bf4f032c5f5a2e5c282103cc98a515c7b
Reviewed-on: https://go-review.googlesource.com/37469
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 22:59:41 +00:00
Brad Fitzpatrick 14f308c1c7 cmd/coordinator: increase snapshot timeout from 1 to 5 minutes
Change-Id: I6230fdc5bbbfdaac9a42bad03350055fc6dbb97b
Reviewed-on: https://go-review.googlesource.com/37468
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 06:26:51 +00:00
Brad Fitzpatrick f2ea6d4e58 cmd/coordinator: blacklist some builder/repo pairs
These never work and are a waste of resources and unnecessary scary
red on the page.

Change-Id: I2d8f8908096dee01618129a9082e98f3ffd92bb7
Reviewed-on: https://go-review.googlesource.com/37467
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 05:44:53 +00:00
Brad Fitzpatrick 628acfc076 cmd/buildlet: halt the machine for Sierra VMs on MacStadium
macOS Sierra's network stack gets wedged after a few runs of all.bash.
Instead, halt the machine after a build is complete. cmd/makemac will make
a new one for the next build.

Change-Id: Icb1b21c045376cff9958a0d3b4cfaf784c9948d0
Reviewed-on: https://go-review.googlesource.com/37465
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 05:22:58 +00:00
Brad Fitzpatrick ee9a2c63fc cmd/makemac: add -auto mode to auto-delete and create VMs as needed
Poll the local VMWare status and the farmer.golang.org status and compare
the two, deleting or creating VMs as appropriate.

Change-Id: Ifaee94b0b3ce062f0865bd9c4fb80937a560f650
Reviewed-on: https://go-review.googlesource.com/37464
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-26 05:22:55 +00:00
Brad Fitzpatrick 15521bc259 cmd/coordinator: clean up reverse buildlet code, export status JSON
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>
2017-02-25 18:24:32 +00:00
Brad Fitzpatrick 79b3e11048 cmd/pushback: use flex
Change-Id: I5774ee66486c65f6bfc3c83c060e053f42f4dcb9
Reviewed-on: https://go-review.googlesource.com/37450
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-02-24 21:58:18 +00:00
Kevin Burke 7ebe3f6394 maintner: wire up maintnerd and PollGithub
Now you can actually pass repos to maintnerd and tell a Corpus to
track/store them. Adds a hook to "catch up" a given repo, though it's
unimplemented at the moment, so all requests hit the API. Also only
Github is implemented.

Change-Id: Ib074c02437d6530fc8d57dd433486c05cd75ee64
Reviewed-on: https://go-review.googlesource.com/37299
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-24 21:54:39 +00:00
Kevin Burke b1e8ca238f all: add contexts to go-github calls
The latest master for go-github (google/go-github@23d6cb9c) adds
Context parameters as the first argument to every function call.
Update code that calls go-github to have contexts, where appropriate,
and adds timeouts to some long-running commands that didn't
previously have them.

Fixes golang/go#19208.

Change-Id: I25203de5d10ada1dcd3a97eb5434a85bb328ce7e
Reviewed-on: https://go-review.googlesource.com/37293
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-24 21:54:04 +00:00
Brad Fitzpatrick 300c0ef374 cmd/buildlet: clamp modtime to be no greater than current time
Updates golang/go#19062

Change-Id: I12faf2941083d44466e6ff8a053c832631276ffe
Reviewed-on: https://go-review.googlesource.com/37381
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-22 21:52:24 +00:00
Brad Fitzpatrick 88f4d73e1a cmd/coordinator: use gitmirror for trybot runs also
(been in production for past few days)

Updates golang/go#19166

Change-Id: Iee301aac5aa87c6644ac1253d7c0bd6c522ff066
Reviewed-on: https://go-review.googlesource.com/37380
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-22 20:05:47 +00:00
Brad Fitzpatrick bb130cefab cmd/gitmirror: new config after deploying version "v4"
Probably not doing this right yet, but it's done.

Change-Id: Ic38b02c6cb0d42eb7e661c67f860254ff9f2fc76
Reviewed-on: https://go-review.googlesource.com/37296
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-21 02:09:02 +00:00
Brad Fitzpatrick 7441680b50 cmd/gitmirror: update Dockerfile to go1.8 final
Change-Id: I716df9fd406bf3c15efc768d110d68cc4e10611c
Reviewed-on: https://go-review.googlesource.com/37295
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-21 02:08:55 +00:00
Kevin Burke 66b5428547 cmd/gitmirror: try to fetch unknown revs from remote
If new commits are submitted to the remote repository while gitmirror
is running, gitmirror won't be able to find them when a user asks for
that commit to be exported.

If a request asks for an unknown commit, attempt to fetch it
on-demand from the remote and serve from there.

I checked that this worked by starting a local gitmirror, verifying
the commit was not present in the local repo, submitting a changeset,
asking for that commit, and verifying that gitmirror fetched the
remote commit to serve it.

Adds a very basic test for the archive functionality that won't go
over the network or hit the disk.

Fixes golang/go#19166.

Change-Id: I1ad017b9c8cd258849585c091122c889ea656017
Reviewed-on: https://go-review.googlesource.com/37225
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-20 18:08:18 +00:00
Kevin Burke aaa6b3e605 cmd/gitmirror, gerrit: move GetProjects to gerrit
This adds more utility to the Gerrit client and lets us reuse the
Gerrit API logic, instead of inventing it on an adhoc basis inside
the gitmirror code.

I added a test that this deserializes the correct data from the
Gerrit API for go.googlesource.com (and then removed it).

Change-Id: I449594b0257ed15d9b5aa7aa1eda7fb371fad6c1
Reviewed-on: https://go-review.googlesource.com/37252
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-19 17:54:52 +00:00
Kevin Burke 5ca173812d cmd/gitmirror: add tests and update documentation
Also add closing HTML tags to the /debug/watcher page.

Change-Id: I487874802a2a79ae442ca996f00ef2f04ef6dc16
Reviewed-on: https://go-review.googlesource.com/37221
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-18 05:55:15 +00:00
Brad Fitzpatrick 64510d09a2 cmd/coordinator: increase max allowed repo source tarball
The talks repo got too big.

Also clean up the gitmirror fetching a code while there. It no longer
runs as a subprocess, so we don't need to account for its start-up
time.

Fixes golang/go#19162

Change-Id: I0f80b95360d079989254c26ea0406dab9633f0c1
Reviewed-on: https://go-review.googlesource.com/37217
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-17 22:01:36 +00:00
Brad Fitzpatrick bdd3cb5f93 cmd/coordinator: fix remote buildlet regression
Introduced in CL 36898

Prevented remote Kube buildlets from working.

Change-Id: If401c7833248083893a43c2d594885b4c8de213c
Reviewed-on: https://go-review.googlesource.com/37136
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-02-16 19:15:35 +00:00
Chris Broadfoot 4932e8bd6b cmd/release: revert "notify explorer of PATH update after install on Win"
This reverts commit 924bb6ba07.
https://golang.org/cl/36324

When running the release builds, we get this error:

   C:\workdir\windows\installer.wxs(155) : error LGHT0094 : Unresolved
reference to symbol 'CustomAction:WixBroadcastEnvironmentChange' in
section 'Product:*'.

The wix documentation indicates we need to enable it:
http://wixtoolset.org/documentation/manual/v3/customactions/wixsettingchange.html

In any case, reverting this change for the 1.8 release.

Updates golang/go#18680.

Change-Id: I86e8d82dc57e585c11846edf589c4bab84a60308
Reviewed-on: https://go-review.googlesource.com/37135
Reviewed-by: Jeff Johnson <jrjohnson@google.com>
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-02-16 19:08:14 +00:00
Jaana Burcu Dogan 0c329e94ad cmd/pushback: fix placeholder PR numbers
golang/go placeholder had to be changed to 19117 given the previous
placeholder cannot be reopened.

golang/oauth2 is using the correct PR number now.

Change-Id: I9ee4801d6b4abc340fa1c9a74e3c0a6649f537f0
Reviewed-on: https://go-review.googlesource.com/37108
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-16 18:02:22 +00:00
Jaana Burcu Dogan 12b69d3b8e cmd/pushback: keep oauth2 placeholder pull request open
Updates golang/oauth2#217.

Change-Id: I9d75fa2eb4365a6ff7945b088e7abbee9e1c9027
Reviewed-on: https://go-review.googlesource.com/36933
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-14 01:41:27 +00:00
Brad Fitzpatrick b503835043 cmd/release: double-check gzip files are single streams
Updates golang/go#19052

Change-Id: I453dd1cc6016bf137f25f4e5b7a772b2c1888279
Reviewed-on: https://go-review.googlesource.com/36913
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2017-02-13 18:32:11 +00:00
Brad Fitzpatrick 1e7c6919f1 cmd/buildlet, cmd/release: disable pargzip for release builds
Fixes golang/go#19052

Change-Id: Icf2923ea72290bd99b78e1c2fd9675668157b3ac
Reviewed-on: https://go-review.googlesource.com/36910
Reviewed-by: Quentin Smith <quentin@golang.org>
2017-02-13 17:51:36 +00:00
Kevin Burke 392d3a9c58 buildlet: add context to GetTar
This lets us set a timeout on the HTTP request, which lets us time out the
writeSnapshot call in cmd/coordinator.

Fixes golang/go#18812.

Change-Id: I370448df4d95130c9c5b30ba32459ce844a6c967
Reviewed-on: https://go-review.googlesource.com/36897
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-12 17:37:23 +00:00
Kevin Burke b7a944e366 all: fix vet errors
It would be nice to run these alongside the tests. There is only one
vet error left in the x/build tree, an unreachable return next to a
TODO.

Change-Id: Ic31d96cdee5bb0f6b9795237ff3b743a4b76e3cf
Reviewed-on: https://go-review.googlesource.com/36898
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-12 17:35:52 +00:00
Brad Fitzpatrick f354ca1cb4 cmd/coordinator: add a comment
Change-Id: I6d94efb50083dea76a13c611356c721eea207f4f
Reviewed-on: https://go-review.googlesource.com/36894
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-11 23:47:43 +00:00
Brad Fitzpatrick b6845bdb45 cmd/coordinator: fix bug where try build status would never go away
If the Gerrit query reported no CLs needed trybot runs, we returned
too early and didn't clear our state. Remove that 'if len(cis) == 0'
early return. The optimization was buggy and not even worth much if
correct.

Also rename some confusing variables.

Change-Id: I485d303c36cc477e3ac651ec25b2c777f512b658
Reviewed-on: https://go-review.googlesource.com/36808
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-11 22:12:15 +00:00
Brad Fitzpatrick f65b532dab cmd/coordinator: use gitmirror on Kubernetes instead of local Docker
Updates golang/go#18817

Change-Id: I1142f079f3748fefcf9fd1d5749e58db86afbda6
Reviewed-on: https://go-review.googlesource.com/36807
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-11 21:03:58 +00:00
Brad Fitzpatrick 34876513c6 cmd/gitmirror: cleanups & more Kubernetes work
It's now running, but not hooked up the coordinator yet.

Updates golang/go#18817

Change-Id: I5870af1e0bfe5213886f7faeb138127986a7234c
Reviewed-on: https://go-review.googlesource.com/36801
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-11 20:10:45 +00:00
Jeff Johnson 924bb6ba07 cmd/release: notify explorer of PATH update after install on Win
Windows installer will not broadcast WM_SETTINGCHANGE when a reboot is
pending. This message is required for explorer.exe to reload the PATH
from the registry so future cmd.exe processes will launch with go/bin in
the PATH.

Use the Wix extension to always broadcast this message after install.

More info:
http://wixtoolset.org/documentation/manual/v3/customactions/wixsettingchange.html

Fixes golang/go#18680

Change-Id: I4f3af49f167f3875bbf8e898f4d50ee358b4e35d
Reviewed-on: https://go-review.googlesource.com/36324
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-02-07 05:20:46 +00:00
Brad Fitzpatrick 0979e53b0f cmd/gitmirror: get key from GCE metadata, add a k8s resource controller
Updates golang/go#18817

Change-Id: Iff09e580d720ab1dfc8de0da2c45340467a335db
Reviewed-on: https://go-review.googlesource.com/36473
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-02-07 00:31:11 +00:00
Brad Fitzpatrick 9a631556e4 cmd/coordinator: reenable trybots for the perf repo
Change-Id: I9f9ed277849f5d8c0ef2554ab105719370476b4f
Reviewed-on: https://go-review.googlesource.com/36017
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-31 21:35:23 +00:00
Brad Fitzpatrick adc161a243 Add gke package, add kubenetes.Dialer type.
Updates golang/go#18817

Change-Id: Ifee53384486b0692899b77be2eaa42ca9006ef8e
Reviewed-on: https://go-review.googlesource.com/36016
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-01-31 21:33:25 +00:00
Kevin Burke 310c0214e9 devapp: put appengine code behind build flag
Per discussion on the mailing list we want to make this app run
on more environments than App Engine and hopefully with a backing
datastore that is just in-memory, or at the very least is not App
Engine specific.

Puts the datastore implementation detail behind an appengine build flag.
Adds an in-memory datastore if you are not running on App Engine; it's slow
since you have to fetch issues every time, but you can get all of the issues
and browse them. Adds a single test so we have the most basic of protections
against a regression.

Add a cmd/devapp main package so we can run the server outside of an
App Engine context.

Rename gg.Percentile to gg.Quantile to match the change in the latest
version of the downstream library.

Change-Id: Icbdef29676ecbf7078b0fb8c3920f61df60a5e2e
Reviewed-on: https://go-review.googlesource.com/34928
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-31 18:33:17 +00:00
Brad Fitzpatrick d559b30a3a cmd/gitmirror: start of splitting off the git mirror code into separate service
Currently the Gerrit polling & git mirroring & serving & syncing
functionality is in the "watcher" process, which is in the same binary
as the cmd/coordinator (farmer.golang.org), but runs as a separate
process on that machine, and actually run in a separate Docker
container so it has a cache volume and the /usr/bin/git binary, etc. A
flag determines where func main delegates to: the build coordinator,
or the git mirror.

Start cleaning this up, in prep to run on Kubernetes as a separate service.

This copies the env/watcher-world/Dockerfile into a new gitmirror
Dockerfile, and copies the existing cmd/coordinator/watcher_process.go
into a new cmd/gitmirror/gitmirror.go process.

None of this is deployed or working yet. Once it's running and happy,
I'll then switch the coordinator to find & use it on GKE, and then
delete the old code.

Updates golang/go#18817

Change-Id: Ibaa87f244f08ce61662e689b815740c72c997536
Reviewed-on: https://go-review.googlesource.com/35911
Reviewed-by: Jaana Burcu Dogan <jbd@google.com>
2017-01-30 18:03:31 +00:00
Brad Fitzpatrick bb89867699 cmd/buildlet: put a deadline before net.Conn writes to coordinator
Also, make the Darwin builder start-up script add a cache buster to
the URL, so it actually fetches the latest buildlet binary when
rebuilt.

Change-Id: I948182b25d234474170a7c967804c1bfef3e3d99
Reviewed-on: https://go-review.googlesource.com/35846
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-26 23:13:25 +00:00
Brad Fitzpatrick f6c3c87daa cmd/coordinator: start of a Dockerfile
Moving all the Go bots and services everything to Kubernetes.

Change-Id: I811c370ea8b650e1553bab891325fee7e110f029
Reviewed-on: https://go-review.googlesource.com/35810
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-26 18:57:53 +00:00
Brad Fitzpatrick 9d1e5158e9 cmd/coordinator: don't build pre-Go 1.7 code on Sierra builders
Updates golang/go#18751

Change-Id: Iadd7dded079376a9bf9717ce8071604cee95d8ef
Reviewed-on: https://go-review.googlesource.com/35643
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Russ Cox <rsc@golang.org>
2017-01-25 17:31:05 +00:00
Kevin Burke 7ddddf10ad cmd/coordinator/buildongce: fix tests
The second section of the template was removed from the default
kubeConfig and the Staging environment now has 32 cores instead of
16.

After this the only failing tests are in the devapp package and fixed
by CL 34928.

Fixes golang/go#18769.

Change-Id: I719ee8368ce85ae6837b6df915bfa69753e24417
Reviewed-on: https://go-review.googlesource.com/35630
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-24 16:49:10 +00:00
Kevin Burke 2888211c41 cmd/buildstats: fix breaking API change in dependency
CL https://code-review.googlesource.com/#/c/9567/ unexported
bigquery.ValueList, which broke the code in this project. Switch the
buildstats code per the suggestion in the linked commit.

Fixes golang/go#18764.

Change-Id: I55b748f65732d5627d966623cd3b0e73223b16be
Reviewed-on: https://go-review.googlesource.com/35572
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-23 22:14:31 +00:00
Kevin Burke 84c3f714d2 gerrit: support contexts
Switch all API methods that make requests to Gerrit to take a
context.Context as their first argument. Adds a package example and
a simple test that we make requests to the correct endpoint and that
the Client can handle correct responses and error responses from the
Gerrit server.

Switches all code in the x/build tree to use the new Gerrit
client. There are several projects outside the tree that import
x/build/gerrit; I'll submit CL's against those to pull in the new
interface once this gets merged.

Documents that the API is unstable.

Fixes golang/go#18742.
Fixes golang/go#18743.

Change-Id: Ifa78cbb058981e23cf5769955f6312fcbe08e174
Reviewed-on: https://go-review.googlesource.com/35559
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-23 21:06:28 +00:00
Cherry Zhang 297480d104 cmd/release: set CGO_{C,LD}FLAGS if GOARM is set
So it really builds an ARMv6 binary when GOARM=6.

Tried "release -rev go1.8rc2 -tools release-branch.go1.8 -version go1.8rc2 -target linux-armv6l -watch"
and the generated binary works on my Raspberry Pi 1.

Fixes golang/go#18748.

Change-Id: I11113f98703049dc9990fe8c8abf505dcfd980f2
Reviewed-on: https://go-review.googlesource.com/35501
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-23 00:29:24 +00:00
Brad Fitzpatrick 409147cbbc build: add macoS Sierra builder
Change-Id: I10a7a9e44a158fdce5287a9b0b065b35d11fb502
Reviewed-on: https://go-review.googlesource.com/35470
Reviewed-by: Chris Broadfoot <cbro@golang.org>
2017-01-19 18:52:10 +00:00
shawnps d9a0206b04 cmd/coordinator: remove unused variables
Change-Id: I39f265cbbcaaa21162e28921e7b279456e143a55
Reviewed-on: https://go-review.googlesource.com/34970
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-09 20:02:52 +00:00
shawnps 72ebb1e3e7 all: fix typos
Change-Id: I16c20d6eb746a3ec81021c2a367d74c258437019
Reviewed-on: https://go-review.googlesource.com/34921
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-07 18:01:14 +00:00
Jonathan Amsterdam 997e261222 buildstats: update to new bigquery client surface
Changes for the new cloud.google.com/go/bigquery surface that came out a
couple of weeks ago.

Change-Id: I4e9d66c606df67fe24058e72665bde10bde5ca8d
Reviewed-on: https://go-review.googlesource.com/32444
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-01-05 00:07:43 +00:00
Russ Cox 26f811fe65 cmd/pushback: update deploy instructions
Change-Id: I0e2da21255f547c3e8aa5f48c8bbbe7d060f5dc4
Reviewed-on: https://go-review.googlesource.com/34617
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-12-21 04:22:06 +00:00