| 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__"], |
| ) |