aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/docker/docker_pull.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/docker/docker_pull.bzl')
-rw-r--r--src/test/docker/docker_pull.bzl80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/test/docker/docker_pull.bzl b/src/test/docker/docker_pull.bzl
deleted file mode 100644
index 8fab57fe88..0000000000
--- a/src/test/docker/docker_pull.bzl
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2016 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.
-
-"""Quick and not really nice docker_pull rules based on the docker daemon."""
-
-def _impl(repository_ctx):
- docker = repository_ctx.which("docker")
- if docker == None and repository_ctx.attr.optional:
- repository_ctx.file("BUILD", """
-load("@bazel_tools//tools/build_defs/docker:docker.bzl", "docker_build")
-
-# an empty image to still allow building despite not having the base
-# image.
-docker_build(
- name = "image",
- visibility = ['//visibility:public'],
-)
-""")
- repository_ctx.file("image.tar")
- return
-
- repository_ctx.file("BUILD", """
-load("@bazel_tools//tools/build_defs/docker:docker.bzl", "docker_build")
-
-docker_build(
- name = "image",
- base = ":base.tar",
- visibility = ["//visibility:public"],
-)
-""")
- tag = repository_ctx.attr.tag
- cmd = "pull"
- if repository_ctx.attr.dockerfile:
- dockerfile = repository_ctx.path(repository_ctx.attr.dockerfile)
- cmd = "build"
- print("Running `docker build`")
- result = repository_ctx.execute([
- docker,
- "build",
- "-q",
- "-t",
- tag,
- "-f",
- dockerfile,
- dockerfile.dirname,
- ], quiet=False, timeout=3600)
- else:
- print("Running `docker pull`")
- result = repository_ctx.execute([docker, "pull", tag], quiet=False, timeout=3600)
- if result.return_code:
- fail("docker %s failed with error code %s:\n%s" % (
- cmd,
- result.return_code,
- result.stderr))
- result = repository_ctx.execute([
- docker, "save", "-o", repository_ctx.path("base.tar"), tag])
- if result.return_code:
- fail("docker save failed with error code %s:\n%s" % (
- result.return_code,
- result.stderr))
-
-docker_pull = repository_rule(
- implementation = _impl,
- attrs = {
- "tag": attr.string(mandatory=True),
- "dockerfile": attr.label(default=None),
- "optional": attr.bool(default=False),
- },
-)