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

1866 Коммитов

Автор SHA1 Сообщение Дата
Brad Fitzpatrick 69dd6b2c22 env/linux-x86-vmx: add new Debian host that's like Container-Optimized OS + vmx
This adds scripts to create a new builder host image that acts like
Container-Optimized OS (has docker, runs konlet on startup) but with a
Debian 9 kernel + userspace that permits KVM for nested
virtualization.

Updates golang/go#15581 (solaris)
Updates golang/go#23060 (dragonfly)
Updates golang/go#30262 (riscv)
Updates golang/go#30267 (fuchsia)
Updates golang/go#23824 (android)

Change-Id: Ib1d3a250556703856083c222be2a70c4e8d91884
Reviewed-on: https://go-review.googlesource.com/c/163301
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-21 22:30:49 +00:00
Dmitri Shuralyov da35c5f839 cmd/tip: start building website from x/website repository
As part of golang/go#29206, the golang.org website is being moved to
from x/tools to x/website repository. This change updates the tip
command to start deploying it from its new location.

The new website is using Go modules for reproducible builds. This
simplifies the code, because we no longer need to manually fetch
any dependent repositories (such as x/net).

Update instances of "godoc" (the binary that was previously used to
host the website) to "golangorg", the new binary name in x/website.

Fixes golang/go#30232
Updates golang/go#29206

Change-Id: I428eddf95a7ed6a43a25138ffeb919e79f42f9d2
Reviewed-on: https://go-review.googlesource.com/c/162908
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-21 20:03:21 +00:00
Dmitri Shuralyov 9e83d85870 devapp: show CLs containing DO NOT SUBMIT
Change https://dev.golang.org/reviews page to be more helpful
at displaying CLs that are in need of a general code review.

Don't hide CLs containing DO NOT SUBMIT. Per Interim Code Review
and Issue Tracker Conventions¹:

	DO NOT SUBMIT means that while the CL is okay to review,
	the author wants Gerrit to make sure the CL is not submitted
	in its current form.

That means we should not be excluding CLs containing DO NOT SUBMIT
from the reviews page.

Remove a log line from GerritMeta.LabelVotes method. It's not serving
a helpful purpose at this time, but produces a large amount of output.

¹ https://groups.google.com/d/msg/golang-dev/YU56eKYiXJg/K1CkXo7Iy0gJ

Change-Id: Ibe40f756e6a0dab0a13c75fa53998e2d56d287e3
Reviewed-on: https://go-review.googlesource.com/c/163159
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-21 02:47:21 +00:00
Brad Fitzpatrick 88cd9dd988 buildlet: change image name for COS-with-vmx buildlet
The COS image I'd forked from earlier didn't have CONFIG_KVM or
CONFIG_KVM_INTEL enabled in its kernel, so even though I'd enabled the
VMX license bit for the VM, the kernel was unable to use it.

Now I've instead rebuilt the ChromiumOS "lakitu" board with a modified
kernel config:

   https://cloud.google.com/container-optimized-os/docs/how-to/building-from-open-source

More docs later. Still tinkering. Nothing uses this yet.

Updates golang/go#15581 (solaris)
Updates golang/go#23060 (dragonfly)
Updates golang/go#30262 (riscv)
Updates golang/go#30267 (fuchsia)
Updates golang/go#23824 (android)

Change-Id: Id2839066e67d9ddda939d96c5f4287af3267a769
Reviewed-on: https://go-review.googlesource.com/c/163057
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-19 20:44:46 +00:00
Dmitri Shuralyov 34d10b6c8e cmd/tip: add staging deployment configuration
We want to be able to test cmd/tip changes on staging before pushing
to production. This change adds configuration files to be used for
the staging environment.

Mirror the production environment, but use a staging-specific load
balancer IP, domain, and autocert GCS bucket (golang-tip-dev-autocert).

Also rename the existing production configuration files to mirror the
pattern in other directories. This is especially important now that
there are both production and staging configuration files.

Updates golang/go#30232

Change-Id: I11c8cf643654d2c5bfa4add50f9ac8ca6771606b
Reviewed-on: https://go-review.googlesource.com/c/162914
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-19 15:56:18 +00:00
Brad Fitzpatrick 0261b66eb0 dashboard, buildlet: add a disabled builder with nested virt, for testing
This adds a linux-amd64 COS builder that should be just like our
existing linux-amd64 COS builder except that it's using a forked image
that has the VMX license bit enabled for nested virtualization. (GCE
appears to be using the license mechanism as some sort of opt-in
mechanism for features that aren't yet GA; might go away?)

Once this is in, it won't do any new builds as regular+trybot builders
are disabled. But it means I can then use gomote + debugnewvm to work
on preparing the other four image types.

Updates golang/go#15581 (solaris)
Updates golang/go#23060 (dragonfly)
Updates golang/go#30262 (riscv)
Updates golang/go#30267 (fuchsia)
Updates golang/go#23824 (android)

Change-Id: Ic55f17eea17908dba7f58618d8cd162a2ed9b015
Reviewed-on: https://go-review.googlesource.com/c/162959
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-15 22:52:44 +00:00
Dmitri Shuralyov 5d2b36639e cmd/gopherbot: compare Gerrit users by email only
maintner represents Gerrit users via its underlying low-level
git author representation, such as:

	Foo Bar <GerritUserID@GerritServerID>

The server ID represents the Gerrit instance and doesn't change.
The user ID uniquely identifies a Gerrit user on the Gerrit instance.

However, Gerrit is not consistent about the name it uses. Sometimes
it's the actual name, but other times it's "Gerrit User <NumericID>".
For example, both of these forms come up:

	Dmitri Shuralyov <6005@62eb7196-b449-3ce5-99f1-c037f21e1705>
	Gerrit User 6005 <6005@62eb7196-b449-3ce5-99f1-c037f21e1705>

Fix the author comparison logic in unwaitCLs task by comparing only
the git email of Gerrit users.

Fixes golang/go#30172

Change-Id: Ib193de844ecc6212723344765fc920bc08d906a4
Reviewed-on: https://go-review.googlesource.com/c/161977
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-14 22:02:20 +00:00
Dmitri Shuralyov 05a16dea4c cmd/gopherbot: accept if maintner metadata is ahead of Gerrit API
The purpose of function onLatestCL is to check that maintner data
isn't behind Gerrit's data (as determined by talking to the Gerrit
REST API directly). However, there are some meta commits that the
Gerrit REST API doesn't return a corresponding message to, so
sometimes maintner data is ahead of "latest Gerrit message".

Since ahead is not _behind_, make onLatestCL report positively in
such situations by checking all cl.Metas, not just the latest one.
Do so in reverse order as an optimization (if there's a match, it's
most likely near the end of cl.Metas slice).

An example of such a meta commit is one that updates an uploaded
patch set and sets the Reviewer field:

	$ git show fc20e3671f7b1ff889d5f947b11d7fda0b608751
	commit fc20e3671f7b1ff889d5f947b11d7fda0b608751 (meta/35/111335/meta)
	Author: Gerrit User 14805 <14805@62eb7196-b449-3ce5-99f1-c037f21e1705>
	Date:   Mon Feb 11 17:49:09 2019 +0000

	    Update patch set 6

	    Patch-set: 6
	    Reviewer: Gerrit User 14805 <14805@62eb7196-b449-3ce5-99f1-c037f21e1705>

It has no corresponding message with same ID in the output from a Gerrit
REST API call at
https://go-review.googlesource.com/changes/111335/detail?o=MESSAGES,
nor does it show up visually in the Gerrit UI at
https://go-review.googlesource.com/c/crypto/+/111335.

Before this change (with fix in CL 161977):

	2019/02/11 15:02:33 Reloaded data from log *maintner.netMutSource.
	2019/02/11 15:02:34 https://golang.org/cl/111335 -- remove wait-author; reply from Andreas Auernhammer <...@mail.de>
	2019/02/11 15:02:35 onLatestCL: maintner metadata for CL 111335 is behind; skipping action for now.

After this change:

	2019/02/11 15:06:46 Reloaded data from log *maintner.netMutSource.
	2019/02/11 15:06:46 https://golang.org/cl/111335 -- remove wait-author; reply from Andreas Auernhammer <...@mail.de>
	2019/02/11 15:06:46 [dry run] would remove hashtag 'wait-author' from CL 111335

Updates golang/go#30172

Change-Id: I1575ccffbf8c3edb337f55bf1bf2c96a4a04bbdd
Reviewed-on: https://go-review.googlesource.com/c/161901
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-14 22:01:16 +00:00
Bryan C. Mills ebe19e37a4 all: make go.mod consistent with 'go mod tidy'
Updates golang/go#28136

Change-Id: Id72c814ee39931e7f6a1ab421237b8739d8960db
Reviewed-on: https://go-review.googlesource.com/c/162677
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-14 16:50:22 +00:00
Brad Fitzpatrick 34b995b40b cmd/coordinator, dashboard: scale test exec timeouts by GO_TEST_TIMEOUT_SCALE
So slow builders can finish their cgo tests, etc.

Updates golang/go#29177 etc

Change-Id: If5ee8d2201dc53ab506d4f5e31406d6aae240352
Reviewed-on: https://go-review.googlesource.com/c/162540
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-14 04:23:18 +00:00
Dmitri Shuralyov ff5c28c5f8 maintner: use p.c instead of p.gr.github.c in githubRepoPoller.syncIssues
The githubRepoPoller type has a field c, which is a shortcut for
gr.github.c. Other githubRepoPoller methods use it, so start using
it in syncIssues as well.

This makes the code more consistent and easier to read.

Also remove a spurious period in GitHubRepo.newMutationFromIssue
documentation.

Change-Id: Iecebd2ba6c69e3479e8d627fea691fcf9415aa51
Reviewed-on: https://go-review.googlesource.com/c/160841
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-13 06:02:06 +00:00
Katie Hockman 0985405157 devapp/owners: add mikesamuel as primary owner for go/src/html/template
Change-Id: Ie80575ec35f31cbd2fc3d749980dd040d1a47862
Reviewed-on: https://go-review.googlesource.com/c/162097
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Mike Samuel <msamuel@google.com>
2019-02-12 19:22:41 +00:00
Brad Fitzpatrick e6f005536f cmd/release: clean gocache and tmp in source mode too
I missed this in CL 159257 when fixing golang/go#29906 the first time.

Fixes golang/go#30181 (round two)

Change-Id: Iae90b5b19803e1ef7297b57bae7644e16c44efdc
Reviewed-on: https://go-review.googlesource.com/c/161967
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-12 18:11:03 +00:00
Dmitri Shuralyov a5286371d3 cmd/gopherbot: handle 404 GitHub issues in freezeOldIssues task
A GitHub issue can become 404. Attempting to lock it will produce a
404 response from the GitHub API. Don't treat it as a fatal error
when it happens.

Add a check for the NotExist field. This will help after golang/go#30184
is resolved.

Updates golang/go#30182

Change-Id: Ia04c59879909b1de00bd681606bfa331fe642cd4
Reviewed-on: https://go-review.googlesource.com/c/161906
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-12 02:11:47 +00:00
Brad Fitzpatrick dc550c1014 cmd/buildlet: address feedback from CL 159320
Rookie mistake: I forgot to git commit before mailing out.

Change-Id: I7b76686d620c889cea4ebc5396104432e9213cde
Reviewed-on: https://go-review.googlesource.com/c/161965
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-12 00:50:52 +00:00
Brad Fitzpatrick 9fd15fab99 cmd/buildlet: recreate accidentally deleted dirs lazily
The buildlet's /removeall handler previously restored any deletes of
important directories (the $WORKDIR, $GOCACHE, and $TMP) immediately
after the deletes, before the /removeall handler returned to the
client.

Unfortunately, some clients actually do want to delete $GOCACHE and
$TMP: in CL 159257 (submitted too early), cmd/release wants to delete
those before tarring/zipping up the rest of $WORKDIR to ship a
release.

This CL changes the remove handler to just remove stuff without fixing
mistakes. Instead, missing directories are created lazily later if
needed.

Also, minor debug logging change to cmd/release that I hadn't yet
uploaded to CL 159257 before it was submitted.

Fixes golang/go#29906

Change-Id: Ifb5d3c16e2d83e7ac9e7f8e353d1b7b866f7d338
Reviewed-on: https://go-review.googlesource.com/c/159320
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-11 22:08:30 +00:00
Dmitri Shuralyov 357a85b84a maintner: handle multi-line subject edge-case
This is a followup to CL 161222, where I forgot to handle the case
where a commit message has a multi-line subject and no body.

Updates golang/go#30101

Change-Id: I01222e8cf783bc3b0631a332cf379717aa85cebc
Reviewed-on: https://go-review.googlesource.com/c/161797
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-11 18:03:06 +00:00
Dmitri Shuralyov 77d92a99a5 maintner: support multi-line commit message subjects
In git, the text up to the first blank line in a commit message
is treated as the commit subject.

Most subjects are short and fit in one line (hopefully under
50 characters). In some cases, they end up being split into
multiple lines.

Report the entire subject rather than just the first line,
and join multiple lines with spaces.

Reference: https://git-scm.com/docs/git-commit#_discussion.

Fixes golang/go#30101

Change-Id: I1ea8212202fce0033e5ac8075352d5d7e0ae823c
Reviewed-on: https://go-review.googlesource.com/c/161222
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-08 21:37:38 +00:00
Dmitri Shuralyov 9fbc418bb1 maintner: remove nil check in GerritCL.Subject method
In CL 107296, the maintner API had undergone a change such that all
public endpoints would only return GerritCLs that are considered
complete. Complete CLs are defined to have certain properties that
make working with them more friendly. One of those properties is that
a complete GerritCL always has a non-nil Commit field.

Methods of GerritCL type are expected to operate on complete CLs
that were acquired via one of the public means (e.g., ForeachOpenCL,
ForeachCLUnsorted, CL), so it's a precondition that the CL must be
complete. (If the user makes a GerritCL type from scratch, they are
expected to follow the documented requirement that GerritCL.Commit
must be non-nil.)

The Footer, ChangeID methods were already relying on the fact that
Commit is non-nil. This change updates the GerritCL.Subject method
to also make use of that property, which makes the cl.Commit nil
check not necessary.

This leads to simpler code and higher confidence that our internal
invariants are maintained.

Change-Id: I5867fd248274b8dd94a0ca98a91a773d48b3bdec
Reviewed-on: https://go-review.googlesource.com/c/161221
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-08 21:33:55 +00:00
Brad Fitzpatrick 67eca6f017 cmd/tip: fix vet failures causing tests to fail
Follow-up from breakage introduced in CL 160818

I keep forgetting that we have trybots here again.

Change-Id: I64bb5dc1ee033425e92bf9b2f31acb6346bbb9be
Reviewed-on: https://go-review.googlesource.com/c/161617
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Baokun Lee <nototon@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-07 16:31:36 +00:00
Dmitri Shuralyov d375ec2fb6 cmd/gopherbot: fix misleading typo in cl2issue comment
The phrase "CL https://golang.org/issue/NNNN" does not make sense.
It was a typo in CL 39352 that implemented this functionality.
Also remove a stray trailing backslash introduced in CL 51116.

Change-Id: Ic1c9d1095c075cb6d9063a3d9e881df6b70414f0
Reviewed-on: https://go-review.googlesource.com/c/161458
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
2019-02-06 23:39:27 +00:00
Brad Fitzpatrick ca70795ae6 cmd/xb: add go1.11 expected layer version
Change-Id: Iaab6b4ee0c40001c607ecffc08b698e8d1510b90
Reviewed-on: https://go-review.googlesource.com/c/161237
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-06 18:52:21 +00:00
Dmitri Shuralyov b5dfb979d8 devapp: display subrepo that CL belongs to
This change largely reuses the logic to parse CL subjects used
on gochanges.org. There is no support for expanding curly brackets
like "image/{png,jpeg}", but this wasn't implemented here previously
either.

There is room for performance improvement by performing less
allocations, but performance is not a bottleneck for current
needs, so I am currently prioritizing adding support for edge
cases (unless performance proves to be a blocker).

For brevity, use x/subrepo instead of golang.org/x/subrepo form.

Omit displaying the path prefix in the title when displaying CLs
grouped under their full import path, to reduce stutter.

Fixes golang/go#30096

Change-Id: I957661724d1a26af4dfebea1eee20e6a7595c7b9
Reviewed-on: https://go-review.googlesource.com/c/161219
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-06 16:26:59 +00:00
Dmitri Shuralyov e21a90b64b cmd/updatecontrib: overhaul output to be useful
The updatecontrib command came to be in CL 157238 by reducing the scope
of a previous updateac command. The updateac command was modified to
fit the needs of updatecontrib. The modification was aiming to be
minimal in nature, it focused on removing CLA checking code and removing
the functionality that updated the AUTHORS file.

Most of the output that the new updatecontrib command produced was only
relevant to the original updateac program, and wasn't very helpful for
the purposes of updatecontrib.

At that time, I did not have a complete understanding of the output,
so I chose to make minimal modifications that I understood. By now,
I've gained that understanding and was able to overhaul the output of
updatecontrib to make it useful, as well as refactor the code to make
it simpler and more readable. There is no change in behavior.

The output is now separated into 3 categories:

• actions  - list of actions taken during the run
• warnings - list of situations where a valid-looking name couldn't be
             determined, causing the git commit author to not be added
             to the CONTRIBUTORS file
• errors   - list of unexpected errors (e.g., a network error talking
             to GitHub API)

Warnings are a normal outcome, since there are many git commit
authors that don't have a name set in any of the sources that
updatecontrib currently checks.

Errors are not expected, and are no longer treated the same way as
harmless warnings, which made output harder to read.

Factor out code that queries GitHub API into a new github.go file.

Add a new nameFix entry to use a normalized name capitalization.

Change-Id: I433ebc5afd8986709b5f323358efc93e3995b2b8
Reviewed-on: https://go-review.googlesource.com/c/160277
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-06 00:29:22 +00:00
Brad Fitzpatrick d0914bad8e cmd/tip: remove the autocert build tag
The build system knows how to use modules now, so no need to hide it.

Change-Id: I9c7a8258d45aa4afc78e562b371a54e2c45a98ee
Reviewed-on: https://go-review.googlesource.com/c/160818
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-02-05 19:42:03 +00:00
Dmitri Shuralyov 0fbf6af331 cmd/builder: delete
We do not have any remaining old-style builders that use cmd/builder.
They've all either migrated to use the new cmd/buildlet and coordinator,
or have stopped running.

As a result, cmd/builder is no longer needed and can now be deleted.

Fixes golang/go#21191

Change-Id: Ie51f7fa3a43a7c4799b614d65a9409e970c201d9
Reviewed-on: https://go-review.googlesource.com/c/161118
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-05 04:49:48 +00:00
Brad Fitzpatrick 63986c177d cmd/tip: merge cmd/tip from x/tools into x/build
Change-Id: I84670b5dc5fc946863aeb5b9342d2de16f5ecf37
2019-02-01 18:16:41 +00:00
Brad Fitzpatrick c360502afd cmd/release: clean $GOROOT/pkg/GOOS_GOARCH_{dynlink,shared,testcshared_shared}
Fixes golang/go#30028

Change-Id: Ie4afee88c43beb92bd7538edfb0f8f2882d67819
Reviewed-on: https://go-review.googlesource.com/c/160660
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-01 01:34:33 +00:00
Brad Fitzpatrick cfd41133b8 app/appengine: add new row to disambiguate GOOS-GOARCH-ambiguous builders
So people can see linux-amd64-nocgo vs linux-amd64-noopt, etc.
Currently it only works on mouseover on desktop, and few people know that.
Add a new row to make it explicit.

While at it:

* remove some dead code
* make this testable locally, detecting dev_appserver mode and populating some
  fake data
* remove the s/amd64/x86/ in the subheadings. that's just confusion and we don't
  do that to other longer fields like arm64 or ppc64le, etc

Change-Id: Id3de9406f383c93202be2e298f07d5c4fef8ae85
Reviewed-on: https://go-review.googlesource.com/c/160657
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-31 19:21:01 +00:00
Brad Fitzpatrick e9fe3dc893 buildlet, dashboard: add min CPU platform knob, require Skylake for OpenBSD
I thought this would be enough for OpenBSD to select the TSC on its own without
being forced to (as in CL 160319), but apparently it is not:

    https://github.com/golang/go/issues/29223#issuecomment-459035482

So it seems like we want both this CL and CL 160319.

Updates golang/go#29223

Change-Id: I0a092d62881d8dcce0ef1129d8d32d8f4025b6ac
Reviewed-on: https://go-review.googlesource.com/c/160457
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-30 21:55:30 +00:00
Brad Fitzpatrick 52d608913b Revert "cmd/coordinator: make version.sh return dirty if no git remotes"
This reverts CL 159699 (commit 269e03abe7)

Reason for revert: I now get failures:

bradfitz@gdev:~/src/golang.org/x/build/cmd/coordinator$ ./version.sh
./version.sh: 12: [: missing ]
a377ef91745ef6c4602d363321b0ee7e4a8be5a1-bradfitz-2019-01-30T19:45:32Z

Change-Id: I9e28ac41df327c29628f2b7ac3e0dd20cd31a921
Reviewed-on: https://go-review.googlesource.com/c/160480
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-01-30 21:55:19 +00:00
Brad Fitzpatrick 70a5fe4614 cmd/coordinator: use historical test timing data for critical path scheduling
We previously hard-coded a Linux-only static map of 2015 data in for
the critical path scheduling of cmd/dist tests over N sharded
buildlets. That worked well only for Linux and only in 2015.

Instead, query BigQuery to find out what the recent timing data looks
like for all builders.

I'd started to work on this back in CL 30716 (Oct 2016) but apparently
never finished. Yay me. But skip the writing-to-CSV step. BigQuery is
much faster than I remember (maybe it got faster?), so just query it
directly. The query takes about 2 seconds, and we only do it every
hour (which is still overkill; daily is probably fine).

Change-Id: I498fc09dfaf24fb1f11b2c0ab4b952b2f15f9c32
Reviewed-on: https://go-review.googlesource.com/c/160037
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-30 21:44:06 +00:00
Brad Fitzpatrick d3ddf67ac5 env/openbsd-amd64: force tsc time source, double the build speed
Fixes golang/go#29223

Change-Id: I43d1fc1eb6455c063d3842c330cb7d57295d7482
Reviewed-on: https://go-review.googlesource.com/c/160319
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-30 19:38:44 +00:00
Brad Fitzpatrick d2e98d5e1b cmd/debugnewvm: add --just-make flag, more timing info in log
For debugging builder make.bash speed.

Updates golang/go#29223

Change-Id: I030c61ec3fdd7af45c6a96ea5cede0bbb54f97bc
Reviewed-on: https://go-review.googlesource.com/c/160317
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-01-30 15:47:58 +00:00
Andrew Bonventre bace88d50d cloudfns: send email updates when the wiki changes
This change introduces two cloud functions: wikiwebhook and
sendwikidiff. The former handles GitHub Wiki change events
sent over HTTP and enqueues them on a pubsub topic for the
latter to pick up. sendwikidiff then checks out the wiki
repo and sends an email with the diff of the change to
golang-wikichanges@.

The reason it is split into two functions is due to GitHub’s
timeout limit on webhook handlers (ten seconds). In testing,
a cold boot of a function that does everything described
above would sometimes hit that limit.

Updates golang/go#27313

Change-Id: I1974e1434c7003482df724d6ea3b537e22231c36
Reviewed-on: https://go-review.googlesource.com/c/158642
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-29 20:39:59 +00:00
saitarunreddy 269e03abe7 cmd/coordinator: make version.sh return dirty if no git remotes
Fixes #29929

Change-Id: Icf13b3f39588567d1b330682596e06774861aae7
GitHub-Last-Rev: 2a466b1cf9
GitHub-Pull-Request: golang/build#17
Reviewed-on: https://go-review.googlesource.com/c/159699
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-28 19:16:52 +00:00
Andrew Bonventre 47e1a6101d cmd/gerritbot, cmd/gitmirror, maintner/maintnerd: add xerrors repo
Change-Id: Ia8faffb0c496dfbef7643cf2046d38103d1804bf
Reviewed-on: https://go-review.googlesource.com/c/159738
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-01-25 23:17:35 +00:00
Dmitri Shuralyov ae7c9cf771 cmd/gerritbot, internal/https: handle error from https.ListenAndServe
Document that https.ListenAndServe always returns a non-nil error,
and use that property to stop gerritbot if the HTTPS server fails
to run.

Remove an unneccessary check for ln != nil in https.ListenAndServe.
net.Listen returns a valid listener when err == nil, and the
err != nil case is already handled above.

Change-Id: Ibbadd551aa36b5376bf062011f12e3e3787bd6b3
Reviewed-on: https://go-review.googlesource.com/c/159698
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-25 18:57:07 +00:00
Dmitri Shuralyov 7a7c835249 internal/https: fix race condition in ListenAndServe
There was a race condition when the opt.AutocertCacheBucket field was
specified. The handler = http.HandlerFunc(redirectToHTTPS) line could
run before (or after) the value of handler was used in the following
line that did serveAutocertTLS(handler, opt.AutocertCacheBucket).

As a result, it was possible for the HTTPS server to end up using the
redirectToHTTPS handler, instead of the intended original handler
parameter passed to the ListenAndServe function.

Change-Id: I95967eed1176f236a87131d0c054ded680886591
Reviewed-on: https://go-review.googlesource.com/c/159697
Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-01-25 18:55:49 +00:00
Dmitri Shuralyov ad59fb13d3 dashboard, cmd/coordinator, maintner/maintnerd: add support for BuildConfig.MinimumGoVersion field
The new BuildConfig.MinimumGoVersion field specifies the minimum
Go version the builder is allowed to use. It's useful when some
of the builders are too new, and do not support all of the supported
Go releases (e.g., openbsd-amd64-64 and freebsd-amd64-12_0 currently
require Go 1.11 and don't work on Go 1.10).

It only needs to be set when a builder doesn't support all supported
Go releases, since we don't typically test unsupported Go releases.

To allow cmd/coordinator to use this field and filter out work it
receives from maintner/maintnerd's GoFindTryWork RPC call,
we add a GoVersion slice to apipb.GerritTryWorkItem,
and populate it in maintapi.apiService.GoFindTryWork method.

For trybots on the Go repo, the GoVersion field is determined from
the branch name. For "release-branch.goX.Y" branches, it parses out
the major-minor Go version from the branch name. For master and
other branches, it assumes the latest Go release.

For trybots on subrepos, we already have the Go version information
available, so use it directly.

Afterwards, all that's left is to modify newTrySet in cmd/coordinator
to make use of BuildConfig.MinimumGoVersion and work.GoVersion to skip
builders that are too new for the Go version that needs to be tested.

Fixes golang/go#29265

Change-Id: I50b01830647e33e37e9eb8b89e0f2518812fa44f
Reviewed-on: https://go-review.googlesource.com/c/155463
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-25 01:45:18 +00:00
Quinten Yearsley 96be844d43 gerrit: add RevisionInfo.Kind field
Bug: chromium:807036
Change-Id: I72f00a92641f202841a1c60bf03343e11cf3b1e1
Reviewed-on: https://go-review.googlesource.com/c/159517
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-24 23:44:35 +00:00
Brad Fitzpatrick 36bd60da6b cmd/release: remove the tmp and gocache dirs, validate it doesn't happen again
Fixes golang/go#29906

Change-Id: I163aee41ea1ce5af3da058bd48b582257d96f60a
Reviewed-on: https://go-review.googlesource.com/c/159257
Reviewed-by: Filippo Valsorda <filippo@golang.org>
2019-01-24 03:37:07 +00:00
Baokun Lee d788e328d9 cmd/gerritbot: sync abandon message to PR
Fixes golang/go#28855

Change-Id: I769cca7a509a429fad1789a8984f62f05329196d
Reviewed-on: https://go-review.googlesource.com/c/150817
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-01-23 19:45:12 +00:00
Dmitri Shuralyov 66f1572da8 cmd/tip: also fetch x/net repository before building cmd/godoc
x/tools/cmd/godoc uses at least one Go package from x/net as of
CL 157197.

Don't add it to signature because we don't want the signature to
change whenever new commits to x/net are pushed, causing tip.golang.org
to be redeployed. This is because x/net is not considered a critical
component of the website at this time, and that's not expected to
change soon.

When the website begins using modules, it will specify the x/net
version precisely and this decision will no longer matter.

Fixes golang/go#29874

Change-Id: I1fa76bb81f8d2ffc2314375e2dfe4898c3af58de
Reviewed-on: https://go-review.googlesource.com/c/158937
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-23 02:11:25 +00:00
Brad Fitzpatrick a865ae32de env/plan9: revert SMP changes, stop running cmd/go tests
Revert "env: enable SMP in Plan 9 image"
This reverts commit 6478d3e7bd.

Revert "dashboard: bump plan9 GCE image"
This reverts commit ce208996bf.

Updates golang/go#29822

Change-Id: I47e75d135e092ee9d5a80c66e91c1048c67cd5f6
Reviewed-on: https://go-review.googlesource.com/c/158542
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: David du Colombier <0intro@gmail.com>
2019-01-18 22:28:44 +00:00
Brad Fitzpatrick ce208996bf dashboard: bump plan9 GCE image
Includes CL 158597 (enable SMP in Plan 9 image)

Updates golang/go#29822

Change-Id: Ic158c5153e79635ff1bc877d5dfb12a98f380d50
Reviewed-on: https://go-review.googlesource.com/c/158541
Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-01-18 21:36:08 +00:00
David du Colombier 6478d3e7bd env: enable SMP in Plan 9 image
The cmd/go tests are currently timing out
after 20m on the plan9/386 builder.

This change enables SMP on the plan9/386
builder so the cmd/go tests could complete
in 10m approximately.

Fixes golang/go#29822.

Change-Id: I4fb92340ea7f5f4cb933aa1d4e29c310a6dc6673
Reviewed-on: https://go-review.googlesource.com/c/158597
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-18 21:06:37 +00:00
Brad Fitzpatrick 326c713d7b dashboard: increase plan9's GO_TEST_TIMEOUT_SCALE
Updates golang/go#29801

Change-Id: Ib346d717ae9b8de18666d6ea543d9bdcd2856f3b
Reviewed-on: https://go-review.googlesource.com/c/158537
Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-01-18 16:21:33 +00:00
David du Colombier adbc3daf71 env: update Plan 9 image
This new Plan 9 image includes a fix to the
ramfs file server so that the number of open
file descriptors is correctly initialized
when creating a file.

Fixes golang/go#29033.

Change-Id: I24c536e2d8fc5bf5b2239ecdc01a5ac8fcbe9bdb
Reviewed-on: https://go-review.googlesource.com/c/152037
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
2019-01-17 21:52:25 +00:00
Bryan C. Mills e5ea06625d dashboard: update plan9 builder to v7
I built and tested the v7 image from CL 152037 per the instructions in
env/plan9-386/README.

Change-Id: Ia4dcb1ac8429ab3e54e8ed21719d3ad894529927
Reviewed-on: https://go-review.googlesource.com/c/152238
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-17 21:51:07 +00:00