]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
script/build-with-container: skip dnf cache dir volume mounts on docker
authorJohn Mulligan <jmulligan@redhat.com>
Thu, 20 Feb 2025 14:50:49 +0000 (09:50 -0500)
committerKamoltat Sirivadhna <ksirivad@redhat.com>
Fri, 10 Oct 2025 18:27:42 +0000 (18:27 +0000)
When using docker the --volume option is not available during build
(docker [buildx] build), unlike podman. Since passing these volumes must
be conditional on them being set up I see no way to handle this short of
just disabling the option on docker. Log the fact that it's being
skipped - the only other issue is that we pointlessly set up some dirs
and the build may be a bit slower.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 4208a736652190fdaad3006c435f6c068e81a093)
(cherry picked from commit 08f7626d7241ba3a00f98fd2df1faab649845f57)

src/script/build-with-container.py

index f1e5bcd77fe0f3f567a51f7cf723f2383d459008..2cd1d4d3ad1955705b8ceeac4911df5cf4d8d7a8 100755 (executable)
@@ -425,7 +425,11 @@ def build_container(ctx):
     ]
     if ctx.cli.distro:
         cmd.append(f"--build-arg=DISTRO={ctx.from_image}")
-    if ctx.dnf_cache_dir:
+    if ctx.dnf_cache_dir and "docker" in ctx.container_engine:
+        log.warning(
+            "The --volume option is not supported by docker. Skipping dnf cache dir mounts"
+        )
+    elif ctx.dnf_cache_dir:
         cmd += [
             f"--volume={ctx.dnf_cache_dir}/lib:/var/lib/dnf:Z",
             f"--volume={ctx.dnf_cache_dir}:/var/cache/dnf:Z",