Add gcloud to trusty and jessie (#282)
* adding gcloud to trusty and jessie bazel containers
* fixes
* Explicitly name gpg files
* buildify
* fix incorrect version of gcloud deb
diff --git a/container/common/gcloud/BUILD b/container/common/gcloud/BUILD
new file mode 100644
index 0000000..dfcedc7
--- /dev/null
+++ b/container/common/gcloud/BUILD
@@ -0,0 +1,29 @@
+# Copyright 2017 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+licenses(["notice"]) # Apache 2.0
+
+package(default_visibility = ["//visibility:public"])
+
+load(
+ "//container/common/gcloud:version.bzl",
+ "GCLOUD_VERSION",
+)
+
+genrule(
+ name = "generate_gcloud_yaml",
+ srcs = ["gcloud.yaml.tpl"],
+ outs = ["gcloud.yaml"],
+ cmd = "sed 's|{_GCLOUD_VERSION}|" + GCLOUD_VERSION.rpartition("-")[0] + "|' <$< >$@",
+)
diff --git a/container/ubuntu16_04/layers/gcloud/gcloud.yaml.tpl b/container/common/gcloud/gcloud.yaml.tpl
similarity index 100%
rename from container/ubuntu16_04/layers/gcloud/gcloud.yaml.tpl
rename to container/common/gcloud/gcloud.yaml.tpl
diff --git a/container/ubuntu16_04/layers/gcloud/version.bzl b/container/common/gcloud/version.bzl
similarity index 100%
rename from container/ubuntu16_04/layers/gcloud/version.bzl
rename to container/common/gcloud/version.bzl
diff --git a/container/debian8/builders/bazel/BUILD b/container/debian8/builders/bazel/BUILD
index 19100f0..b9c7c93 100644
--- a/container/debian8/builders/bazel/BUILD
+++ b/container/debian8/builders/bazel/BUILD
@@ -53,6 +53,7 @@
"//container/debian8/layers/bazel:bazel-tools",
"//container/debian8/layers/bazel:bazel_%s-ltl" % bazel_version,
"//container/debian8/layers/docker-17.12.0:docker-ltl",
+ "//container/debian8/layers/gcloud:gcloud-ltl",
],
) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
@@ -78,6 +79,7 @@
"//container/common:python2.yaml",
"//container/common:python3.yaml",
"//container/common/clang:clang.yaml",
+ "//container/common/gcloud:gcloud.yaml",
"//container/common/bazel:bazel_%s.yaml" % bazel_version,
"//container/common/bazel:bazel_tools.yaml",
"//container/common/bazel:extra_tools.yaml",
diff --git a/container/debian8/layers/gcloud/BUILD b/container/debian8/layers/gcloud/BUILD
new file mode 100644
index 0000000..5f90fb8
--- /dev/null
+++ b/container/debian8/layers/gcloud/BUILD
@@ -0,0 +1,37 @@
+# Copyright 2017 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+licenses(["notice"]) # Apache 2.0
+
+package(default_visibility = ["//visibility:public"])
+
+load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
+load(
+ "//container/common/gcloud:version.bzl",
+ "GCLOUD_VERSION",
+)
+
+language_tool_layer(
+ name = "gcloud-ltl",
+ additional_repos = [
+ "deb http://packages.cloud.google.com/apt cloud-sdk-jessie main",
+ ],
+ base = "@debian8//image",
+ keys = [
+ "@gcloud_gpg//file",
+ ],
+ packages = [
+ "google-cloud-sdk=%s" % GCLOUD_VERSION,
+ ],
+)
diff --git a/container/ubuntu14_04/builders/bazel/BUILD b/container/ubuntu14_04/builders/bazel/BUILD
index 89aa93c..30ca678 100644
--- a/container/ubuntu14_04/builders/bazel/BUILD
+++ b/container/ubuntu14_04/builders/bazel/BUILD
@@ -53,6 +53,7 @@
"//container/ubuntu14_04/layers/bazel:bazel-tools",
"//container/ubuntu14_04/layers/bazel:bazel_%s-ltl" % bazel_version,
"//container/ubuntu14_04/layers/docker-17.12.0:docker-ltl",
+ "//container/ubuntu14_04/layers/gcloud:gcloud-ltl",
],
) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
@@ -77,6 +78,7 @@
"//container/common:java.yaml",
"//container/common:python2.yaml",
"//container/common:python3.yaml",
+ "//container/common/gcloud:gcloud.yaml",
"//container/common/bazel:bazel_%s.yaml" % bazel_version,
"//container/common/bazel:bazel_tools.yaml",
"//container/common/bazel:extra_tools.yaml",
diff --git a/container/ubuntu14_04/layers/gcloud/BUILD b/container/ubuntu14_04/layers/gcloud/BUILD
new file mode 100644
index 0000000..855e7fa
--- /dev/null
+++ b/container/ubuntu14_04/layers/gcloud/BUILD
@@ -0,0 +1,37 @@
+# Copyright 2017 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+licenses(["notice"]) # Apache 2.0
+
+package(default_visibility = ["//visibility:public"])
+
+load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
+load(
+ "//container/common/gcloud:version.bzl",
+ "GCLOUD_VERSION",
+)
+
+language_tool_layer(
+ name = "gcloud-ltl",
+ additional_repos = [
+ "deb http://packages.cloud.google.com/apt cloud-sdk-trusty main",
+ ],
+ base = "@trusty//image",
+ keys = [
+ "@gcloud_gpg//file",
+ ],
+ packages = [
+ "google-cloud-sdk=%s" % GCLOUD_VERSION,
+ ],
+)
diff --git a/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD b/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD
index b7aed9e..4bbe9a5 100644
--- a/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD
+++ b/container/ubuntu16_04/builders/bazel_docker_gcloud/BUILD
@@ -72,11 +72,11 @@
"//container/common:python2.yaml",
"//container/common:python3_rbe.yaml",
"//container/common/clang:clang.yaml",
+ "//container/common/gcloud:gcloud.yaml",
"//container/common/bazel:bazel_%s.yaml" % bazel_version,
"//container/common/bazel:bazel_tools.yaml",
"//container/common/bazel:extra_tools.yaml",
"//container/ubuntu16_04:ubuntu16_04.yaml",
- "//container/ubuntu16_04/layers/gcloud:gcloud.yaml",
],
image = ":bazel_%s_docker_gcloud" % bazel_version,
verbose = True,
diff --git a/container/ubuntu16_04/layers/gcloud/BUILD b/container/ubuntu16_04/layers/gcloud/BUILD
index e0e1a2c..ae23e01 100644
--- a/container/ubuntu16_04/layers/gcloud/BUILD
+++ b/container/ubuntu16_04/layers/gcloud/BUILD
@@ -18,17 +18,10 @@
load("//rules/container:docker_toolchains.bzl", "language_tool_layer")
load(
- "//container/ubuntu16_04/layers/gcloud:version.bzl",
+ "//container/common/gcloud:version.bzl",
"GCLOUD_VERSION",
)
-genrule(
- name = "generate_gcloud_yaml",
- srcs = ["gcloud.yaml.tpl"],
- outs = ["gcloud.yaml"],
- cmd = "sed 's|{_GCLOUD_VERSION}|" + GCLOUD_VERSION.rpartition("-")[0] + "|' <$< >$@",
-)
-
language_tool_layer(
name = "gcloud-ltl",
additional_repos = [
diff --git a/repositories/repositories.bzl b/repositories/repositories.bzl
index 2e8a734..f88f873 100644
--- a/repositories/repositories.bzl
+++ b/repositories/repositories.bzl
@@ -100,6 +100,7 @@
if "bazel_gpg" not in excludes:
http_file(
name = "bazel_gpg",
+ downloaded_file_path = "bazel_gpg",
sha256 = "30af2ca7abfb65987cd61802ca6e352aadc6129dfb5bfc9c81f16617bc3a4416",
urls = ["https://bazel.build/bazel-release.pub.gpg"],
)
@@ -108,6 +109,7 @@
if "docker_gpg" not in excludes:
http_file(
name = "docker_gpg",
+ downloaded_file_path = "docker_gpg",
sha256 = "1500c1f56fa9e26b9b8f42452a553675796ade0807cdce11975eb98170b3a570",
urls = ["https://download.docker.com/linux/ubuntu/gpg"],
)
@@ -116,6 +118,7 @@
if "gcloud_gpg" not in excludes:
http_file(
name = "gcloud_gpg",
+ downloaded_file_path = "gcloud_gpg",
sha256 = "226ba1072f20e4ff97ee4f94e87bf45538a900a6d9b25399a7ac3dc5a2f3af87",
urls = ["https://packages.cloud.google.com/apt/doc/apt-key.gpg"],
)
@@ -124,6 +127,7 @@
if "launchpad_openjdk_gpg" not in excludes:
http_file(
name = "launchpad_openjdk_gpg",
+ downloaded_file_path = "launchpad_openjdk_gpg",
sha256 = "54b6274820df34a936ccc6f5cb725a9b7bb46075db7faf0ef7e2d86452fa09fd",
urls = ["http://keyserver.ubuntu.com/pks/lookup?op=get&fingerprint=on&search=0xEB9B1D8886F44E2A"],
)