They're causing unnecessary work and clutter on the build.golang.org page.
Fixesgolang/go#29513
Change-Id: Ieb9bbe4caf0041dd2a2f0e34b4d52a283de56224
Reviewed-on: https://go-review.googlesource.com/c/157817
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Create a new ./maintner/maintnerd/maintapi/version package and move
the version parsing code there. Change the implementation to use
strings.Split on "." rather than a regexp. Make it more precise at
rejecting invalid names and increase test coverage of edge cases.
Having this code be in a separate package makes it easier to use it
elsewhere when needed.
Change commit hash in TestSupportedGoReleases for -security branches,
to make the test failure more prominent.
Remove an unneeded blank line at the end of a function body.
Change-Id: I3168b0b25a6b6433d17f83b01580f08208532daf
Reviewed-on: https://go-review.googlesource.com/c/157559
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Only the "oauth2" and "build" repos for now, as a test. We'll lock
down policy more later and decide when to do this automatically.
Also, this currently only runs buildlets which run in our GCP project,
because we're not yet proxying the a localhost:3000 port from the
reverse buildlets to an authenticated TLS connection back to our
module proxy service on GKE.
Updates golang/go#14594Fixesgolang/go#29637
Change-Id: I6f05da2186b38dc8056081252563a82c50f0ce05
Reviewed-on: https://go-review.googlesource.com/c/157438
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
More work on getting x/build to pass.
Change-Id: Ie70919f597b72daafccc2550a106be2421c8d7ba
Reviewed-on: https://go-review.googlesource.com/c/157442
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
CL 157441 added linux build tag for linux-only tools.
In cmd/coordinator, that was done for almost all .go files,
but builders_test.go, reverse_test.go, and trybot_dev.go were missed.
That causes the package to fail to build when being tested
on non-linux environments:
$ go test golang.org/x/build/...
...
# golang.org/x/build/cmd/coordinator [golang.org/x/build/cmd/coordinator.test]
cmd/coordinator/builders_test.go:14:2: undefined: handleBuilders
FAIL golang.org/x/build/cmd/coordinator [build failed]
...
This change fixes that by adding the linux build tag to the
remaining files.
Change-Id: I942a3eb5dd499a1acd6e338d7ad795b5ea5de95d
Reviewed-on: https://go-review.googlesource.com/c/157498
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Part of getting the x/build repo passing on the builders.
Change-Id: I3f2055cbe91c03ddc0a5152bfdbc0f377f354f47
Reviewed-on: https://go-review.googlesource.com/c/157441
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
As part of getting the x/build tests passing (trybots + post-submit),
ignore the symlinks that are in the x/build repo for now.
We can add support when we actually need them for something. But I
imagine any test that needs them can & does just create them as
needed.
Updates golang/go#14594
Change-Id: I6a0584d35c8d0fc91b3cdc8114b473df7f0268c3
Reviewed-on: https://go-review.googlesource.com/c/157439
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Part of getting x/build passing on the builders.
Change-Id: I549b3b8b8d290a8955adf19630aa10f2772da719
Reviewed-on: https://go-review.googlesource.com/c/157440
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The alternative was to key the cache by tree instead of by commit, which
currently should be perfectly valid, but make.bash seems cheap enough to
just rerun.
Change-Id: I8de031a6b7ebfbcf4ba1f903bbb14ef1d98cbfe1
Reviewed-on: https://go-review.googlesource.com/c/154342
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Run cmd/release in prepare mode to get the all.bash tests to run on the
builders before the version commit is issued.
Also, scope the release artifacts by version commit, so there is never
any need to destroy them if the tag is reissued.
Change-Id: Idc14858c542f01b1652203758158d5e4972672c8
Reviewed-on: https://go-review.googlesource.com/c/154341
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
The output would end up mixed to the point of being useless. releasebot
now supports parallelism at the terminal tab level.
Change-Id: I291954a88884452e71d3e3d0416301453aec8374
Reviewed-on: https://go-review.googlesource.com/c/154340
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Install GDB from the ports collection, the in-tree was removed from the base system
in FreeBSD 12.0, and the older releases have an unsupported (6.1.1 or older version).
Updates golang/go#25289
Change-Id: I8899a2a70c0b9ee9171621206431ca24a7e97704
Reviewed-on: https://go-review.googlesource.com/c/155977
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
gopherbot isn't supposed to fight humans. If someone has re-opened
a cherry-pick issue, don't try to close it again.
Rename openCherryPickIssues to cherryPickIssues, to better reflect
that it's the set of candidate cherry-pick issues to close, not all
open ones.
Fixesgolang/go#29270
Change-Id: I2b0ae9bd9849e72f7f04b208919735451c1f4593
Reviewed-on: https://go-review.googlesource.com/c/154337
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change fixes an incorrect number of parameters provided to
a log.Printf call. It's caught by vet and causes go test to fail.
Change-Id: Ic06a2d571959cf2a93b53e7765b675ed67ec7830
Reviewed-on: https://go-review.googlesource.com/c/156343
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The website now has its own subrepo with gerrit mirroring set up.
Updates golang/go#29206
Change-Id: I6fb6fb62dfd50b48d2f78db2503641c521600ae7
Reviewed-on: https://go-review.googlesource.com/c/156217
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
Assign the first element to an empty slice, rather than appending it.
There is no behavior change. The goal of this CL is to improve code
readability only.
After this change, it should be easier for the reader to see what
the slice content will be, without having to verify that earlier code
has not assigned anything to that slice.
Change-Id: I2aaeaafafbdf206f57b0f85b42ccfa726e72ca8c
Reviewed-on: https://go-review.googlesource.com/c/155461
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
subTryBuilders no longer exists, it was factored out into another
package in CL 145157. That logic now happens within the call to
dashboard.TryBuildersForProject function. Remove the reference to it
since it's inaccurate and confusing.
Change-Id: I74d57717541a4ee4fe57f3ae9f46d3fc097cfce1
Reviewed-on: https://go-review.googlesource.com/c/155462
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TestGerritHashtags is documented to be off by default unless
environment variable TEST_GERRIT_AUTH is set to "user:token",
or we're running in the prod project.
However, the previous code never skipped TestGerritHashtags,
even when TEST_GERRIT_AUTH wasn't set, because strings.SplitN
returns a slice with length 1 when the input string is empty.
This change fixes that.
Updates golang/go#28318
Change-Id: Ib2f113dbc3ccfd933f9944fe8efa105ff3ba5057
Reviewed-on: https://go-review.googlesource.com/c/153442
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Writing the snapshot to GCS is timing out for the Windows/ARM builder.
It tars about 500MB of data, resulting in about 175MB of data, which
it then sends to GCS. It takes about 4:30 to tar the workdir/go directory
with the built-in tar command, leaving only 30s to transfer 175MB
across the web, so it's not surprising that it times out.
Updates golang/go#26148
Change-Id: I7e70aeaf1ac6334c17fdca64ae9ab946c3d87d9a
Reviewed-on: https://go-review.googlesource.com/c/153518
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
In CL 152779, lineValue was modified to return just the value,
lineValueRest was added to do the same task as the old lineValue,
and a new lineValueOK with a third bool return value was created.
This change fixes a test build failure by adapting TestLineValue to
use the new lineValueOK function, and renaming it to TestLineValueOK.
Also add two test cases to cover the new bool return value.
Updates golang/go#28318
Change-Id: I08106cc14f0c418a880ab139310830943a3a1ad9
Reviewed-on: https://go-review.googlesource.com/c/153441
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Package version has been copied from golang.org/x/build/version to
golang.org/dl/internal/version as part of golang/go#23223. The old
package was marked deprecated but kept for backwards compatibility
reasons. Fixes and changes have not been backported from the new
dl/internal/version package (to avoid spending time unproductively).
bundle has recently been updated to accept an empty prefix in CL 105515.
This allows one to use bundle to make a generated copy of a package.
A generated copied package is better than a manually-maintained copied
package for the following reasons:
1. Keeping the copied package up to date with upstream is low effort,
just need to run go generate.
2. It's clear to contributors that the copied package isn't the
canonical version, since there is a generated comment like
"// Code generated by golang.org/x/tools/cmd/bundle. DO NOT EDIT."
at the top of the file. It's easy to reject changes to the copied
package, or redirect them to the upstream.
Overall, making the copied package generated rather than hand-written
reduces the maintenace cost, and makes it more viable to keep it more
up to date with upstream.
The diff to version.go in this CL is due to some dl/internal/version
CLs being effectively backported by bundle, including CL 134435,
CL 143545, and CL 144698.
Updates golang/go#23223Fixesgolang/go#23635
Change-Id: Id8cd63c52b660b6817e6fdba080373966789e1e8
Reviewed-on: https://go-review.googlesource.com/c/148881
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The Gerrit meta commit graph is a linear history. The most recent meta
with a "Hashtags: " footer line has the complete set. We just have to
go back and look for it.
Fixesgolang/go#28318
Updates golang/go#28510 (fixes after gopherbot re-deployed)
Updates golang/go#28320 (fixes after gopherbot re-deployed)
Change-Id: I43705075800ae3d353c1c8f60ab7685883ea5602
Reviewed-on: https://go-review.googlesource.com/c/152779
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Previously, maintner would track only the Events
on an Issue/PullRequest, which missed out on the
discussions and approvals that the review
process generates.
This adds a new struct GitHubReviewEvent to represent
the results from the GitHub "pulls/reviews" API. This
struct follows the same pattern as the GitHubIssueEvent
struct.
To accomplish this, a new call has been added to the
sync() function: syncReviews, which follows the
pattern established with syncEvents().
Finally, this adds an additonal method: ForeachReview which
iterates over the GitHubReviewEvents in
the given GitHubIssue serially and in
chronological order.
GitHub API Reference: https://developer.github.com/v3/pulls/reviews/
Updates golang/go#21086
Change-Id: I4f59e154a4e4a8a4b8f2676dea932cf44354c288
Reviewed-on: https://go-review.googlesource.com/c/144699
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Using Chart.js and embedded JSON rendered within the template, the
total number of issues and the number of release blockers in the
current development milestone (hard-coded right now) are graphed in
a line chart.
Change-Id: Icaefc1ff46f976f857f22f07f2934ad32aaf9547
Reviewed-on: https://go-review.googlesource.com/c/150639
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
We care most about testing the dev.boringcrypto branches on linux/amd64.
Stop testing them on all builders, as it's not worth the resource use.
Continue to test on one additional non-linux/amd64 port,
namely windows/386, to ensure that fallbacks work.
Fixesgolang/go#26791
Change-Id: I4556886f55175173de52e35cf57833b22843d586
Reviewed-on: https://go-review.googlesource.com/c/149739
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
This change takes care of a TODO comment. It makes the builder
configuration more centralized and contained in the dashboard
package.
Invert it for consistency with BuildConfig.BuildRepo method.
Updates golang/go#26791
Change-Id: I46368adadb85f2ec730da4fc0abe5fd6a112a7c7
Reviewed-on: https://go-review.googlesource.com/c/149738
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change is required for Alan's vet refactor and change to how
vetall works in CL 149097.
Change-Id: Ia7864c1b2430c696a457d3f0de2820b9037d78ab
Reviewed-on: https://go-review.googlesource.com/c/149658
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Fixes assumption broken by https://golang.org/cl/143538 where number
of builders (types of builders) no longer equals the number of trybot
builds. (We now run linux-amd64 1 or 3 times depending on the repo)
Fixesgolang/go#28714
Change-Id: I3b85adbb79508890d16311fc75f4b48ffc1f3c78
Reviewed-on: https://go-review.googlesource.com/c/149437
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
For details, see
https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#change-info
Note that the field Mergable has been renamed Mergeable,
and its JSON tag has been corrected from mergable to mergeable.
If this breaks any existing code using the gerrit package,
that code should be examined, since it has never seen a
mergeable change as actually mergeable in the past.
Change-Id: I769abeed173c7afd7da7b1527f810d0a2db18236
Reviewed-on: https://go-review.googlesource.com/c/149239
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The ClosedBy field is currently always nil due to the cause described
in the linked issue. Document it with a TODO comment so people don't
need to spend time on figuring that out for themselves.
Updates golang/go#28745
Change-Id: Icaa7b8fd5614dffbfd13a9783b9a71cb87e2af40
Reviewed-on: https://go-review.googlesource.com/c/149238
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
By now, OpenBSD 6.4 has proven reliable, so we want it to be used
for building subrepos as well.
Updates golang/go#26833
Change-Id: I026207865514a026f86936140a16dd707f9594ea
Reviewed-on: https://go-review.googlesource.com/c/148888
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Our latest practice is to avoid creative names, but prefer descriptive and
boring ones. This is helpful for:
• discovering the command when looking at the list of commands available
• finding the command again (no need to remember the fun name)
• not polluting autocompletion in terminal (since GOPATH/bin is often in
one's PATH)
New usage:
$ rmplaysnippet
usage: rmplaysnippet {https://play.golang.org/p/<id> | <id>}
Change-Id: Id3d9513a7229624607408facb62f76e206a93002
Reviewed-on: https://go-review.googlesource.com/c/148885
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
OpenBSD 6.4 is the current OpenBSD release, while 6.2 has just stopped
being supported. The new 6.4 builder has proven to be stable and
reliable, so start using it for trybots as well.
Looking at the non-trybot build times for the Go repository with
OpenBSD 6.2 and 6.4 builders to get a sense of the build speed,
it seems OpenBSD 6.4 is about 15% slower (1200~ seconds on 6.2 vs
1380~ seconds on 6.4). This might be due to security-oriented changes
in OpenBSD 6.3 and 6.4 that were done to mitigate Spectre/Meltdown
vulnerabilities.
CL 145022 has helped recover some lost performance by re-enabling SMT.
OpenBSD trybots seem to take around 6 minutes now, so there's
some room to make them slower before they're the bottleneck.
Try to update for now, and if it becomes a bottleneck, then
we can prioritize investigating ways to improve OpenBSD 6.4
builder performance further if possible.
References:
• https://www.openbsd.org/64.html
• https://www.openbsd.org/63.html
• https://man.openbsd.org/sysctl.2#HW_SMT_2Fixesgolang/go#26833
Change-Id: I42c136fab800df46866a95017a8f70047b37f847
Reviewed-on: https://go-review.googlesource.com/c/144777
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Gerrit's NoteDB git-based metadata format changed recently to display
"Gerrit User 1234" as the display name for meta commit authors. Use
the Gerrit REST API to retrieve the proper display name and cache the
result to prevent superfluous API calls.
Also updates the maintner doc for the Author property of GerritMessage
to reflect NoteDB's format.
Fixesgolang/go#28663
Change-Id: I549474ad139e48c736d715414e82b6db83a9fdf3
Reviewed-on: https://go-review.googlesource.com/c/148560
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
In some cases (https://golang.org/cl/148477), the original author
of a change has not registered themselves with Gerrit. This causes
the change to assign Gobot as the owner, making it difficult to know
who originally authored the change. When initially creating the
Gerrit CL, upload some informational text that includes which GitHub
PR the CL corresponds to and who the author is according to git.
Fixesgolang/go#28662
Change-Id: Icc8dad4e79d7270635b71b1e2cd24e0e1b8e5286
Reviewed-on: https://go-review.googlesource.com/c/148564
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change deletes the OwnerName method on GerritCL, since Gerrit's
format for its NoteDB backing store changed to display "Gerrit User NNN"
instead of the proper display name in the meta commit.
Update golang/go#28663
Change-Id: Ifa64ca2b2694b17e888451582b9c63f3f37280a9
Reviewed-on: https://go-review.googlesource.com/c/148557
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This is a follow-up to CL 147438, which added new dependencies to
this package. They need to be added to Dockerfile for deployment.
Generated with:
make update-deps
Using the latest versions of all dependencies.
Change-Id: I923954ceb019ecfb8629fffc4001e656eab7cafd
Reviewed-on: https://go-review.googlesource.com/c/148318
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Previously, the https://golang.org/dl/?mode=json endpoint was used
to figure out the supported and upcoming Go releases. That endpoint
lists versions that have binary release files uploaded.
CL 146137 added an RPC endpoint to the maintner server to list
supported versions. It uses tags and branches in Gerrit to compute
that information, which makes it a better source as it's closer to
the canonical source of truth for Go releases. We can use it here,
and it allows the parsing code to be simpler.
Change-Id: Ida0142f01aa42d5660fd28d4f985ff07914f239d
Reviewed-on: https://go-review.googlesource.com/c/147438
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Separate performance issues (those with the "Performance" label) from
the rest of the issues on the release dashboard. Performance issues
tend to be those which are not critical to fix for any particular
release, so separating them and putting them later in order helps to
deprioritize them.
Kind of a hack, but it works.
Change-Id: I6fa0f85629504c298691b492e50e03c817c62a1b
Reviewed-on: https://go-review.googlesource.com/c/145937
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The previous condition could never be true (unless the current time
went back by more than an hour), so the cached releases.major value
was never used. An HTTP request to the remote server was made on each
getMajorReleases call.
This change fixes the condition to use the cached releases.major value
within an hour of fetching it.
Updates golang/go#24899
Change-Id: I71da1b2503075db878b371606436130931dbcc0d
Reviewed-on: https://go-review.googlesource.com/c/147437
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>