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>
Install qemu-user on the sid x86 builders to enable the QEMU user-mode
emulation tests added in CL 111477.
Change-Id: I28be452a843b7526b7d452b085e6fbfeb3a19ae7
Reviewed-on: https://go-review.googlesource.com/112077
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
From the "gcloud docker" output:
WARNING: `gcloud docker` will not be supported for Docker client
versions above 18.03. Please use `gcloud auth configure-docker` to
configure `docker` to use `gcloud` as a credential helper, then use
`docker` as you would for non-GCR registries.
Not adding "gcloud auth configure-docker" to the Makefiles as it spams
and there are implicit required authentication steps already anyway.
Change-Id: I5bd1177e82d30a6590126a307bee01d0acee9d6a
Reviewed-on: https://go-review.googlesource.com/108560
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Cleanup and optimize Dockerfiles for making images smaller.
Before:
REPOSITORY TAG IMAGE ID CREATED SIZE
go-builders/linux-x86-sid latest 9b9e88b7655c 55 seconds ago 1.12GB
go-builders/linux-x86-std-kube latest 91a5a7a8cb1f 8 seconds ago 986MB
After:
REPOSITORY TAG IMAGE ID CREATED SIZE
go-builders/linux-x86-sid latest aab9e758925e 7 seconds ago 731MB
go-builders/linux-x86-std-kube latest 8309123c2745 2 minutes ago 577MB
Change-Id: I613896faf0d298448995952d265b1729cd03392c
Reviewed-on: https://go-review.googlesource.com/40409
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>
Enables test for runtime-gdb.py to be run.
Change-Id: If8311cf159045b4eb497ecd0e74e2415fb18e3f9
Reviewed-on: https://go-review.googlesource.com/3102
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The 'build' repo (unlike the 'tools' repo) is allowed to depend on
anything.
Change-Id: I4caa9fe61bccf05f488152eac53ed5769a848d4d
Reviewed-on: https://go-review.googlesource.com/3113
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Also:
- Move the watcher to cmd/watcher (somehow this was missed earlier).
- Move dashboard package from the repo root to its own directory.
- Update docker build scripts. (Although not yet the version hashes in
the Dockerfiles; this leaves the docker builds broken, but they were
already broken after moving the builder to cmd/builder. They'll be
fixed in a followup CL after this one is submitted.)
Change-Id: I29a9758da1f3c60446e3ce18174c0df26e4d8325
Reviewed-on: https://go-review.googlesource.com/3077
Reviewed-by: Andrew Gerrand <adg@golang.org>
Package main binaries now go under cmd, leaving the top level for
similarly-named packages.
I'll be moving a lot of data structures and functions out of the
commands and into common packages.
A future CL will also unify all the "+build whatever" restrictions
into one common build tag, since there will be so much package sharing
coming up. Probably they will become "+build extdep", to indicate that
they have dependencies outside of x/tools.
Change-Id: Idc198e0dfa933b5f5de8f2b581533e8d299d2293
Reviewed-on: https://go-review.googlesource.com/2738
Reviewed-by: Andrew Gerrand <adg@golang.org>
Adds dashboard/upload/upload.go, instead of oddly shoving it as part
of the coordinator/buildongce tool.
And as part of that (in order to compile and test buildongce/create.go
without installing mercurial on this machine), I updated it from
goauth2 to oauth2.
Despite this "just" being a cleanup CL, it took forever because I hit
OAuth2+Cloud Storage+Web UI woes along the way, documented partially
in upload.go. The web UI misled me for a long time. Maybe I shouldn't
have used service accounts, but it does make configuration easier for
upload.go. The buildongce/create.go probably should use them too,
but I can do that later. I'm done cleaning for now.
Change-Id: Icb8e3decb682d3685edffecea2a10fcb4e385e10
Reviewed-on: https://go-review.googlesource.com/2731
Reviewed-by: Andrew Gerrand <adg@golang.org>
sid was trying to use hg still.
And remove curl everywhere (except nacl). It's unnecessary.
Change-Id: I2a235d83b2bc7cf599c8de5796c724d8f368348e
Reviewed-on: https://go-review.googlesource.com/1368
Reviewed-by: David Symonds <dsymonds@golang.org>
Rewrite performed with this command:
sed -i '' 's_code.google.com/p/go\._golang.org/x/_g' \
$(grep -lr 'code.google.com/p/go.' *)
LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/170920043