You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by GitBox <gi...@apache.org> on 2018/11/08 08:22:23 UTC

[GitHub] larroy closed pull request #13077: Add --no-cache option to build.py when building containers

larroy closed pull request #13077: Add --no-cache option to build.py when building containers
URL: https://github.com/apache/incubator-mxnet/pull/13077
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/ci/README.md b/ci/README.md
index 6c8a23f03cf..5b6cc668978 100644
--- a/ci/README.md
+++ b/ci/README.md
@@ -5,6 +5,8 @@ Docker containers
 
 You need docker and nvidia docker if you have a GPU.
 
+Also you need to run `pip3 install docker` as it uses the [docker python module](https://docker-py.readthedocs.io/en/stable/containers.html#)
+
 If you are in ubuntu an easy way to install Docker CE is executing the
 following script:
 
diff --git a/ci/build.py b/ci/build.py
index 8f3fe2d1244..fa764ad3f2d 100755
--- a/ci/build.py
+++ b/ci/build.py
@@ -112,7 +112,7 @@ def get_docker_binary(use_nvidia_docker: bool) -> str:
     return "nvidia-docker" if use_nvidia_docker else "docker"
 
 
-def build_docker(platform: str, docker_binary: str, registry: str, num_retries: int, use_cache: bool) -> str:
+def build_docker(platform: str, docker_binary: str, registry: str, num_retries: int, use_cache: bool, no_cache: bool) -> str:
     """
     Build a container for the given platform
     :param platform: Platform
@@ -144,8 +144,10 @@ def build_docker(platform: str, docker_binary: str, registry: str, num_retries:
            "-f", get_dockerfile(platform),
            "--build-arg", "USER_ID={}".format(os.getuid()),
            "--build-arg", "GROUP_ID={}".format(os.getgid())]
-    if use_cache:
+    if use_cache and not no_cache:
         cmd.extend(["--cache-from", tag])
+    if no_cache:
+        cmd.append("--no-cache")
     cmd.extend(["-t", tag, get_dockerfiles_path()])
 
     @retry(subprocess.CalledProcessError, tries=num_retries)
@@ -436,6 +438,9 @@ def main() -> int:
                         " to use local layers for caching. If absent, we use the cache from dockerhub"
                         " which is the default.")
 
+    parser.add_argument("--no-cache", action="store_true",
+                        help="passes --no-cache to docker build")
+
     parser.add_argument("command",
                         help="command to run in the container",
                         nargs='*', action='append', type=str)
@@ -475,7 +480,8 @@ def signal_handler(signum, _):
         if use_cache():
             load_docker_cache(tag=tag, docker_registry=args.docker_registry)
         build_docker(platform=platform, docker_binary=docker_binary, registry=args.docker_registry,
-                     num_retries=args.docker_build_retries, use_cache=use_cache())
+                     num_retries=args.docker_build_retries, use_cache=use_cache(),
+                     no_cache=args.no_cache)
         if args.build_only:
             logging.warning("Container was just built. Exiting due to build-only.")
             return 0
diff --git a/ci/requirements.txt b/ci/requirements.txt
new file mode 100644
index 00000000000..8f21ead27f7
--- /dev/null
+++ b/ci/requirements.txt
@@ -0,0 +1 @@
+docker==3.5.0


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services