Improve run-worker to successfully start up LUCI. It depends on sudo, so
add it to all of our images.
The resulting image is up and running as a LUCI worker, and debugnewvm
on it also works fine.
Change-Id: Ibcac4acf5f9849e5847ae926e333002108c08a0d
Reviewed-on: https://go-review.googlesource.com/c/build/+/508866
Run-TryBot: Heschi Kreinick <heschi@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
We want to move our Docker-based builders over to LUCI. Rather than
building a second set of images, add the LUCI bootstrap command to the
stage0 layer, along with a script that selects which to run based on the
GCE project ID.
It's sort of silly to put this in cmd/buildlet, but I didn't want to
make another image and then have to teach xb about it, or undertake a
big yak shave to get rid of xb. Since the image is built from the root
of the module it doesn't matter much.
This doesn't do any of the necessary steps to make LUCI work once the
bootstrap command runs. That'll come later.
Change-Id: Iaa911cf86a9f52efd688836cfaa6f0e4a11ed884
Reviewed-on: https://go-review.googlesource.com/c/build/+/506876
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
The earlier fix to remove IN_KUBERNETES in buildlet/stage0/stage0.go
in CL 201739 caused Kubernetes-based cross compilation builds on fail
to start up because I forgot to rebuild & push those container images.
But when I went to re-push them, I found they're too old (Debian
Jessie) and don't build anymore. So update them to Debian Buster.
While I'm here, remove the Debian release name from their image name,
as this won't be the last time we need to upgrade them. Unlike real
builders, the OS release isn't the point of these containers, as they
don't run tests. They exist only to do builds, so the OS isn't
interesting or worth calling out.
Updates golang/go#34956
Change-Id: Iee4691a821421b161a9333b4441f83ff45d1ffec
Reviewed-on: https://go-review.googlesource.com/c/build/+/202021
Reviewed-by: Brad Fitzpatrick <bradfitz@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>
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>
The far superior linux distro of champions.
Updates golang/go#17105
Change-Id: I5ea0cd2361753f61bb74bf3d4dea6c181f1427fa
Reviewed-on: https://go-review.googlesource.com/29687
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Moved arm to armel, if anyone wants that in the future.
Change-Id: I57db5c8dff12c02cd2ceb4bd657d5fa63040985c
Reviewed-on: https://go-review.googlesource.com/29684
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Moved cross-compile builders to env/crosscompile
Tested it works:
$ readelf --headers go/bin/go
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0xc3a80
Start of program headers: 52 (bytes into file)
Start of section headers: 276 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 7
Size of section headers: 40 (bytes)
Number of section headers: 23
Section header string table index: 7
Change-Id: I3db71fa954575c29bb0a12a07c9bf84c4c96d88e
Reviewed-on: https://go-review.googlesource.com/29679
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>