load("//tools/build_defs/docker:docker.bzl", "docker_build") load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar") load("//src/test/docker:flavours.bzl", "FLAVOURS") pkg_tar( name = "bazel_cc_configure", package_dir = "/opt/workspace", strip_prefix = "/", deps = ["//:bazel-distfile-tar"], ) [ [docker_build( name = "bazel_cc_configure-%s-%s" % (flavour, mode), base = "@docker-%s//:image" % flavour, entrypoint = "/opt/workspace/compile.sh && ./output/bazel test ${EXTRA_BAZEL_ARGS} //examples/cpp:hello-success_test", env = { "EXTRA_BAZEL_ARGS": "--spawn_strategy=standalone --genrule_strategy=standalone -c %s" % mode, }, tars = [":bazel_cc_configure"], workdir = "/opt/workspace", ) for mode in [ "dbg", "opt", "fastbuild", ]] for flavour in FLAVOURS ] # Shard the docker test by compilation mode SHARD_NUMBER = { "opt": 1, "fastbuild": 2, "dbg": 3, } [ [py_test( name = "test_cc_configure-%s-%s" % (flavour, mode), size = "large", srcs = ["docker_test.py"], args = [ "--main='$(location :bazel_cc_configure-%s-%s)'" % (flavour, mode), "--docker='../docker/docker'", ], data = [ ":bazel_cc_configure-%s-%s" % (flavour, mode), "@docker//:docker", ], local = 1, main = "docker_test.py", tags = [ "docker", "exclusive", "local", "slow", "shard-%s" % SHARD_NUMBER[mode], ], deps = ["//third_party/py/gflags"], ) for mode in SHARD_NUMBER] for flavour in FLAVOURS ] filegroup( name = "srcs", srcs = glob(["**"]), visibility = ["//src:__pkg__"], )