dashboard/env: update Linux builders to contain Go 1.4 for GOROOT_BOOTSTRAP

Change-Id: I256168d1bbe542ae78e4c1e7c4879d2b62b74c7e
Reviewed-on: https://go-review.googlesource.com/2690
Reviewed-by: Andrew Gerrand <adg@golang.org>
diff --git a/coordinator/main.go b/coordinator/main.go
index 9713e8b..5a10ec8 100644
--- a/coordinator/main.go
+++ b/coordinator/main.go
@@ -590,6 +590,11 @@
 	for _, pair := range conf.env {
 		args = append(args, "-e", pair)
 	}
+	if strings.HasPrefix(conf.name, "linux-amd64") {
+		args = append(args, "-e", "GOROOT_BOOTSTRAP=/go1.4-amd64/go")
+	} else if strings.HasPrefix(conf.name, "linux-386") {
+		args = append(args, "-e", "GOROOT_BOOTSTRAP=/go1.4-386/go")
+	}
 	args = append(args,
 		conf.image,
 		"/usr/local/bin/builder",
diff --git a/env/linux-x86-base/Dockerfile b/env/linux-x86-base/Dockerfile
index 3aff6b7..866b8a0 100644
--- a/env/linux-x86-base/Dockerfile
+++ b/env/linux-x86-base/Dockerfile
@@ -13,4 +13,7 @@
 RUN /scripts/install-apt-deps.sh
 
 ADD /scripts/build-go-builder.sh /scripts/
-RUN GO_REV=go1.4 BUILDER_REV=6735829f /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
+RUN GO_REV=go1.4 BUILDER_REV=d79e0375a /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
+
+RUN mkdir -p /go1.4-386   && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-386.tar.gz   | tar -C /go1.4-386   -zxv)
+RUN mkdir -p /go1.4-amd64 && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz | tar -C /go1.4-amd64 -zxv)
diff --git a/env/linux-x86-base/Makefile b/env/linux-x86-base/Makefile
index 11692a4..347f48f 100644
--- a/env/linux-x86-base/Makefile
+++ b/env/linux-x86-base/Makefile
@@ -9,4 +9,7 @@
 	docker save gobuilders/linux-x86-base | gzip | (cd ../../coordinator/buildongce && go run create.go --write_object=go-builder-data/docker-linux.base.tar.gz)
 
 check: docker
-	docker run gobuilders/linux-x86-base /usr/local/bin/builder -rev=3fa5d3a6dc9 -buildroot=/ -v -report=false linux-amd64-temp
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-amd64/go gobuilders/linux-x86-base /usr/local/bin/builder -rev=20a10e7ddd1 -buildroot=/ -v -report=false linux-amd64-temp
+
+check32: docker
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-386/go gobuilders/linux-x86-base /usr/local/bin/builder -rev=20a10e7ddd1 -buildroot=/ -v -report=false linux-386-temp
diff --git a/env/linux-x86-base/scripts/install-apt-deps.sh b/env/linux-x86-base/scripts/install-apt-deps.sh
index 913aada..db1b635 100755
--- a/env/linux-x86-base/scripts/install-apt-deps.sh
+++ b/env/linux-x86-base/scripts/install-apt-deps.sh
@@ -11,6 +11,8 @@
 apt-get install -y --no-install-recommends libc6-dev-i386 gcc-multilib
 # For interacting with the Go source & subrepos:
 apt-get install -y --no-install-recommends git-core
+# For downloading Go 1.4:
+apt-get install -y --no-install-recommends curl
 
 apt-get clean
 rm -fr /var/lib/apt/lists
diff --git a/env/linux-x86-clang/Dockerfile b/env/linux-x86-clang/Dockerfile
index 05e5319..939606c 100644
--- a/env/linux-x86-clang/Dockerfile
+++ b/env/linux-x86-clang/Dockerfile
@@ -15,6 +15,9 @@
 RUN /scripts/install-apt-deps.sh
 
 ADD /scripts/build-go-builder.sh /scripts/
-RUN GO_REV=go1.4 BUILDER_REV=6735829f /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
+RUN GO_REV=go1.4 BUILDER_REV=d79e0375a /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
 
 ENV CC /usr/bin/clang
+
+RUN mkdir -p /go1.4-386   && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-386.tar.gz   | tar -C /go1.4-386   -zxv)
+RUN mkdir -p /go1.4-amd64 && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz | tar -C /go1.4-amd64 -zxv)
diff --git a/env/linux-x86-clang/Makefile b/env/linux-x86-clang/Makefile
index 13c899d..fa56b13 100644
--- a/env/linux-x86-clang/Makefile
+++ b/env/linux-x86-clang/Makefile
@@ -9,7 +9,7 @@
 	docker save gobuilders/linux-x86-clang | gzip | (cd ../../coordinator/buildongce && go run create.go --write_object=go-builder-data/docker-linux.clang.tar.gz)
 
 check: docker
-	docker run gobuilders/linux-x86-clang /usr/local/bin/builder -rev=77e96c9208d0 -buildroot=/ -v -report=false linux-amd64-temp
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-amd64/go gobuilders/linux-x86-clang /usr/local/bin/builder -rev=20a10e7ddd1b -buildroot=/ -v -report=false linux-amd64-temp
 
 check32: docker
-	docker run gobuilders/linux-x86-clang /usr/local/bin/builder -rev=77e96c9208d0 -buildroot=/ -v -report=false linux-386-temp
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-386/go gobuilders/linux-x86-clang /usr/local/bin/builder -rev=20a10e7ddd1b -buildroot=/ -v -report=false linux-386-temp
diff --git a/env/linux-x86-clang/scripts/install-apt-deps.sh b/env/linux-x86-clang/scripts/install-apt-deps.sh
index 4c14db0..f5d3fda 100755
--- a/env/linux-x86-clang/scripts/install-apt-deps.sh
+++ b/env/linux-x86-clang/scripts/install-apt-deps.sh
@@ -15,6 +15,8 @@
 rm -f /usr/bin/gcc
 # For interacting with the Go source & subrepos:
 apt-get install -y --no-install-recommends git-core
+# For installing Go 1.4:
+apt-get install -y --no-install-recommends curl
 
 apt-get clean
 rm -fr /var/lib/apt/lists
diff --git a/env/linux-x86-sid/Dockerfile b/env/linux-x86-sid/Dockerfile
index db3db48..f591339 100644
--- a/env/linux-x86-sid/Dockerfile
+++ b/env/linux-x86-sid/Dockerfile
@@ -11,4 +11,7 @@
 RUN /scripts/install-apt-deps.sh
 
 ADD /scripts/build-go-builder.sh /scripts/
-RUN GO_REV=go1.4 BUILDER_REV=6735829fe0 /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
+RUN GO_REV=go1.4 BUILDER_REV=d79e0375a /scripts/build-go-builder.sh && test -f /usr/local/bin/builder
+
+RUN mkdir -p /go1.4-386   && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-386.tar.gz   | tar -C /go1.4-386   -zxv)
+RUN mkdir -p /go1.4-amd64 && (curl --silent https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz | tar -C /go1.4-amd64 -zxv)
diff --git a/env/linux-x86-sid/Makefile b/env/linux-x86-sid/Makefile
index e636e49..3fcd0d0 100644
--- a/env/linux-x86-sid/Makefile
+++ b/env/linux-x86-sid/Makefile
@@ -9,4 +9,7 @@
 	docker save gobuilders/linux-x86-sid | gzip | (cd ../../coordinator/buildongce && go run create.go --write_object=go-builder-data/docker-linux.sid.tar.gz)
 
 check: docker
-	docker run gobuilders/linux-x86-sid /usr/local/bin/builder -rev=8c27884843c3 -buildroot=/ -v -report=false linux-amd64-sid
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-amd64/go gobuilders/linux-x86-sid /usr/local/bin/builder -rev=20a10e7ddd1b -buildroot=/ -v -report=false linux-amd64-sid
+
+check32: docker
+	docker run -e GOROOT_BOOTSTRAP=/go1.4-386/go gobuilders/linux-x86-sid /usr/local/bin/builder -rev=20a10e7ddd1b -buildroot=/ -v -report=false linux-386-sid
diff --git a/env/linux-x86-sid/scripts/install-apt-deps.sh b/env/linux-x86-sid/scripts/install-apt-deps.sh
index 913aada..173d03a 100755
--- a/env/linux-x86-sid/scripts/install-apt-deps.sh
+++ b/env/linux-x86-sid/scripts/install-apt-deps.sh
@@ -11,6 +11,8 @@
 apt-get install -y --no-install-recommends libc6-dev-i386 gcc-multilib
 # For interacting with the Go source & subrepos:
 apt-get install -y --no-install-recommends git-core
+# For installing Go 1.4:
+apt-get install -y --no-install-recommends curl
 
 apt-get clean
 rm -fr /var/lib/apt/lists