blob: 4bbe9a5a7779b03b2abc901908ae29194dadb2f7 [file] [log] [blame]
# 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",
"toolchain_container",
)
load("@io_bazel_rules_docker//container:container.bzl", "container_image")
load("@io_bazel_rules_docker//contrib:test.bzl", "container_test")
load("//container/common/bazel:version.bzl", "BAZEL_VERSION_SHA256S")
# Tools that are needed in most builds, but not strictly required by bazel.
language_tool_layer(
name = "extra-tools-ltl",
base = "@ubuntu16_04//image",
packages = [
"git",
"wget",
],
)
# Generate the container with Bazel and Docker for all supported versions of
# Bazel.
[toolchain_container(
name = "bazel_%s_docker_gcloud" % bazel_version,
base = "@ubuntu16_04//image",
cmd = [
"/bin/sh",
"-c",
"/bin/bash",
],
# TODO(xingao) Fix this. We should not remove /etc/ssl/certs/java/cacerts
# file in the java-ltl, but instead, archive it for future container
# reproduction.
installation_cleanup_commands = "update-ca-certificates -f",
language_layers = [
":extra-tools-ltl",
"//container/ubuntu16_04/layers/clang:clang-ltl",
"//container/ubuntu16_04/layers/java:java-ltl",
"//container/ubuntu16_04/layers/java:java10-ltl",
"//container/ubuntu16_04/layers/python:python-rbe-ltl",
"//container/ubuntu16_04/layers/bazel:bazel-tools",
"//container/ubuntu16_04/layers/bazel:bazel_%s-ltl" % bazel_version,
"//container/ubuntu16_04/layers/docker-17.12.0:docker-ltl",
"//container/ubuntu16_04/layers/gcloud:gcloud-ltl",
],
) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]
# container_test targets for all supported bazel_docker containers..
[container_test(
name = "bazel_%s_docker_gcloud-test" % bazel_version,
configs = [
":container.yaml",
"//container/common:docker-17.12.0.yaml",
"//container/common:java.yaml",
"//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",
],
image = ":bazel_%s_docker_gcloud" % bazel_version,
verbose = True,
) for bazel_version, _ in BAZEL_VERSION_SHA256S.items()]