This removes the tour from the release binary for go1.12.x and later
releases, lowering the size of each release. It will now redirect to
tour.golang.org, unless the user runs "go get -u golang.org/x/tour" to
cache it locally, in which case the local copy will be preferred.
The release size was 170.0 MiB for go1.11rc1, this change reduces the
size by 6.3 MiB, a 3.7% reduction. After this change, and others which
reduced the release size, the release candidate is now 115.2 MiB.
Updates golang/go#27151
Change-Id: I6687c34f3d4ae161c5e6df1f7af8cf3adc016fc4
Reviewed-on: https://go-review.googlesource.com/131156
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change gives gopherbot support to backport to the next major
release (current release + 1). Previously, attempting a backport to
a future release would create backports for the last two major
Go releases. These changes will not affected "please backport" comments
which do not indicate a backport number, as gopherbot should not open
an issue for the future release without being explicitly asked to do so.
Fixesgolang/go#27040
Change-Id: I0096680c2ce2e164e6d80203bcf257dadaa97138
Reviewed-on: https://go-review.googlesource.com/131077
Reviewed-by: Filippo Valsorda <filippo@golang.org>
This removes the blog from the release binary, greatly lowering the size
of each release. It will now redirect to blog.golang.org, unless the user
runs "go get -u golang.org/x/blog" to cache it locally, in which case the
release-shipped godoc will prefer the local copy of the blog.
Currently, the blog is growing at ~2MB a year, thus including the blog in
every new go version release will continue to grow the releases over time.
The release size was 170MB for go1.11rc1, this change reduces the size
by 34MB, a 20% reduction.
Fixesgolang/go#21917
Change-Id: I53bf0c416c2085da10b6bb70f8aa6cae8e826dc3
Reviewed-on: https://go-review.googlesource.com/130575
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
"gcloud auth application-default login" is NOT the same as
"gcloud auth login"
... which is super confusing.
Add a check for users.
We should probably add this in more places over time. Baby steps.
Change-Id: I4584f5b84b941fa6893eccd09fd61e8850538607
Reviewed-on: https://go-review.googlesource.com/130195
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This saves a bunch of space, and users don't typically rebuild
cmd/compile, cmd/link, etc. If they want to, they still can, but
they'll have to pay the cost of rebuilding dependent libaries. No need
to ship them just in case.
On linux-amd64, this reduces the tar.gz size from 177,294,517 to
156,487,264 bytes, a 19.8 MiB, 12% reduction.
Change-Id: I784dcf2c6f15f8eee8b9eaa501a8d982b2627288
Reviewed-on: https://go-review.googlesource.com/129955
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Only runs manually. We can run this whenever the tree reopens.
Change-Id: I003a8b69fd212ec3040a26855796ba997f1a5943
Reviewed-on: https://go-review.googlesource.com/129817
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
It's better to authenticate with an identity (e.g. foo@google.com),
rather than all of us copy/pasting a service account JSON (a glorified
access token) around and the server not knowing who's who.
I was previously misled into using service accounts because the gcloud
tool (when run on a GCE VM) strongly urges you not to use user
accounts and says you should be using service accounts instead. But
turns out that's because it assumes you'd never use GCE for
development and only for deployment. That is, gcloud assumes you'd
only use gcloud on desktop/laptop, and then deploy your binary to GCE
where the application itself would use service accounts. (We do use
service accounts for the application, but I also develop on a GCE VM.)
Also, the precursor helper function to FindDefaultCredentials (for
"Application Default Credentials") had a different search order for
credentials and prefered the GCE VM's service account instead of the
user-specific credentials. Now that FindDefaultCredentials uses a good
order we can remove some of our old complexity.
Change-Id: Ia888e264cfb88e977f3ff1a3a4bb583db70466ab
Reviewed-on: https://go-review.googlesource.com/129416
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
When running in GCE's Container-Optimized OS (COS), we can't use
port 22, as the system's sshd is already using it. Our container
runs in the system network namespace, not isolated as is typical
in Docker or Kubernetes. So use port 2200 instead.
Remove an unnecessary type conversion.
Updates golang/go#26969.
Change-Id: Ic85e1f14529175106b9c7397186d3e9b5cb39c1c
Reviewed-on: https://go-review.googlesource.com/129356
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Empirically, the maintner client uses just under 2 GB RAM while running.
However, during a maintner.ErrSplit situation, the RAM need spikes
beyond 2 GB, causing the apps to crash due to a hard limit of 2 GB RAM.
Increasing it to 4 GB should let them run crash-free during net splits.
Change-Id: I79deec74c0ddac4afb9e2ffb2ab19747a06bd53a
Reviewed-on: https://go-review.googlesource.com/128361
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change introduces a tiered model for making changes to labels:
+ If a label exists (or does not exist in the case of removal) on an
issue according to maintner, then no action is taken to add (or
remove) that label.
+ Before making any requests to remove a set of labels, the GitHub
API is checked to see which ones are already not present on the issue.
Then it only removes the labels that exist on the issue.
Change-Id: If6693db71ad9dfc3537c462bcdbc5af8f33e5b16
Reviewed-on: https://go-review.googlesource.com/120043
Reviewed-by: Bryan C. Mills <bcmills@google.com>
See tests for the various acceptable range of commands.
Fixesgolang/go#24785
Change-Id: If3dfded60db4879f6d7e2281a3ba014a003a2b81
Reviewed-on: https://go-review.googlesource.com/119538
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Split the process in two parts with a manual +2 and submit of the
release commit in the middle. This way the release manager doesn't need
to force submit anything, and the first stage stops before serious
write operations. This also made dry-run mode more complete and the
process easier to resume if something breaks.
Completely removed the beta and rc code as it got messy with the partial
rewrite and it would have just been broken untested code waiting to break.
Fixesgolang/go#24902
Change-Id: I2cbd9bdf88e283d2ca527e5c91c620617d7e068e
Reviewed-on: https://go-review.googlesource.com/116357
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Using global API keys or user managed service account keys for
"personal" actions (as opposed to application ones) is discouraged, as
it does not map to a specific user identity.
Change-Id: I945cfc3ad581a9c1df2289c6b77891164258802d
Reviewed-on: https://go-review.googlesource.com/117315
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
In https://golang.org/cl/115375 I had neglected to test against a
non-empty README file, and accidentally wrote a regexp that never
matches.
Change-Id: I676cb11abea7e0f5bf337aab640ebc2478295a9b
Reviewed-on: https://go-review.googlesource.com/115377
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Use a known version of MinGW on Windows. (On other platforms, we use
whatever compiler is already installed on the system image.)
Test at a well-defined Go commit.
Record the Go and LLVM commits for each platform independently.
Extracting the C++ toolchain version is left for future work, but it
should be recoverable from the resulting .syso file anyway.
Change-Id: I9af1d2a6f540a4d276b87074864564bf989e4731
Reviewed-on: https://go-review.googlesource.com/115375
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
In the case of golang/crypto#46, the change includes a private
key as part of tests. Disable this check in git when creating
changes.
Change-Id: I3457e7f9c431afaf8e1ea89545eac409f78f88ad
Reviewed-on: https://go-review.googlesource.com/114958
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
To pull in golang.org/x/time/rate needed by maintner.
Change-Id: I0edda73b30ef781ac6c34ac456cdf9b835822684
Reviewed-on: https://go-review.googlesource.com/114836
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
A PR could report zero commits if the user deletes their fork. See
https://api.github.com/repos/golang/go/pulls/25559 as an example of
this. Since it doesn’t affect the ability to check out
pulls/<PR NUM>/head, it doesn’t affect GerritBot’s ability to
apply the change.
Additionally, don’t stop iterating through PRs if something goes
wrong with one or more of them. Report the error and then continue.
Fixesgolang/go#24618
Change-Id: Ibfe6b17da7c62016343812f3a5fe31a0eb0a95f4
Reviewed-on: https://go-review.googlesource.com/114835
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The new "kicktrain" mode is disabled by default and needs to be run
by hand with --only-run=kicktrain so we can use this in the future.
I just used this to move 132 Go 1.11 issues to Unplanned.
Change-Id: Id6d9d2065fc6970ed14151fe368d3ae5ccaf9957
Reviewed-on: https://go-review.googlesource.com/114011
Reviewed-by: Ian Lance Taylor <iant@golang.org>
We used to build the buildlet/stage0 binary once, upload it to GCS,
and then future Docker builds of environments would slurp it down back
off the network (unversioned) and back that copy into its image
forever.
Now the buildlet/stage0 binary gets hermetically built as part of
env/*/Dockerfiles and GCS uploads/downloads aren't involved.
While we're at it, move more docker logic out of Makefiles and into
xb, including things like building dependent images (stage0) and
verifying the versions of dependent layers (e.g. that "golang:1.10" is
Go 1.10.2, and not Go 1.10 or Go 1.10.1).
Change-Id: I2a08d951b9fa8143fb3aee3ec7c2cc78d216962e
Reviewed-on: https://go-review.googlesource.com/113135
Reviewed-by: Andrew Bonventre <andybons@golang.org>
We usually do this manually via the GCP Datastore console. Provide
a binary to do it more easily.
Change-Id: I30dca595a4f81781bcb63ed8b09365b09961efcc
Reviewed-on: https://go-review.googlesource.com/113718
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Note that compiler-rt/lib/tsan/go/build.bat has been broken since
https://reviews.llvm.org/D28596 (git commit
6ef4606343358c8f0365f7741b5033c42fbabb0e), so we have to use an older
version until it can be fixed.
compiler-rt commit ae08a22cc215448aa3ad5a6fb099f6df77e9fa01 is the
most recent one that builds, but it fails tests (golang/go#22687).
Updates golang/go#24354.
Updates golang/go#22687.
Change-Id: I36ba47fc955111143707224068e687168dbda4ff
Reviewed-on: https://go-review.googlesource.com/112895
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Print output directly to the racebuild log instead of separate log
files per builder.
Cancel all builders at the first error: if there is something wrong
with the Go or compiler-rt commit, it's probably wrong globally.
Add a --platforms flag to attempt only a subset of builds: that way,
we can update only a subset (e.g., to work around OS-specific bugs) or
iterate on a single failing platform without attempting all the other
platforms at the same time.
Sanity-check the platforms table at init to ensure that there are no
duplicates for the same OS/arch combination.
Updates golang/go#24354.
Change-Id: Ic4d4ab32ca6cc13a150c9bbfcc2e5fbd3742d704
Reviewed-on: https://go-review.googlesource.com/112876
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
LLVM uses Subversion for their primary repository, so one might expect
that the rev passed to racebuild would be a Subversion revision
number. It is actually a git commit hash.
Updates golang/go#24354.
Change-Id: I8528f4f80477e256d889e3bbc98de6309f449c1c
Reviewed-on: https://go-review.googlesource.com/112875
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Google's Container-Optimized Linux's konlet container start-up program
creates any requested tmpfs mounts as noexec. That doesn't work for
doing builds in, so remount it as executable.
This is required to run builds on COS instead of GKE.
Updates golang/go#25108
Change-Id: I9b719caf9180a03bafefa5b3b4b47ee43b9e5c1c
Reviewed-on: https://go-review.googlesource.com/112715
Reviewed-by: Andrew Bonventre <andybons@golang.org>
* adds new buildgo.Client type to hold primarily a
buildenv.Environment and a google.Credentials
* starts to unify, document, and otherwise clean up
how we look up authentication info.
* use the new buildgo.Client type in the "buildongce"
(poorly named) cluster bootstrap tool.
* moves the "basepin" creation code from buildongce into
a new method on buildgo.Client, for later use in the
coordinator for golang/go#21305
Change-Id: I976b60c992bf67589e7f85fc5a9133f8cbb32e70
Reviewed-on: https://go-review.googlesource.com/112162
Reviewed-by: Bryan C. Mills <bcmills@google.com>