Merge pull request #142075 from hercules-ci/issue-118722-path-in-contents
dockerTools: Fix and test #118722 path in contents
This commit is contained in:
commit
0645328c22
|
@ -383,5 +383,18 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
docker.succeed(
|
||||
"tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null"
|
||||
)
|
||||
|
||||
with subtest("Ensure bare paths in contents are loaded correctly"):
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.build-image-with-path}'",
|
||||
"docker run --rm build-image-with-path bash -c '[[ -e /hello.txt ]]'",
|
||||
"docker rmi build-image-with-path",
|
||||
)
|
||||
docker.succeed(
|
||||
"${examples.layered-image-with-path} | docker load",
|
||||
"docker run --rm layered-image-with-path bash -c '[[ -e /hello.txt ]]'",
|
||||
"docker rmi layered-image-with-path",
|
||||
)
|
||||
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -37,6 +37,11 @@
|
|||
|
||||
let
|
||||
|
||||
inherit (lib)
|
||||
escapeShellArgs
|
||||
toList
|
||||
;
|
||||
|
||||
mkDbExtraCommand = contents:
|
||||
let
|
||||
contentsList = if builtins.isList contents then contents else [ contents ];
|
||||
|
@ -402,7 +407,7 @@ rec {
|
|||
|
||||
preMount = lib.optionalString (contents != null && contents != [ ]) ''
|
||||
echo "Adding contents..."
|
||||
for item in ${toString contents}; do
|
||||
for item in ${escapeShellArgs (map (c: "${c}") (toList contents))}; do
|
||||
echo "Adding $item..."
|
||||
rsync -a${if keepContentsDirlinks then "K" else "k"} --chown=0:0 $item/ layer/
|
||||
done
|
||||
|
|
|
@ -553,4 +553,16 @@ rec {
|
|||
|
||||
# Example export of the bash image
|
||||
exportBash = pkgs.dockerTools.exportImage { fromImage = bash; };
|
||||
|
||||
build-image-with-path = buildImage {
|
||||
name = "build-image-with-path";
|
||||
tag = "latest";
|
||||
contents = [ pkgs.bashInteractive ./test-dummy ];
|
||||
};
|
||||
|
||||
layered-image-with-path = pkgs.dockerTools.streamLayeredImage {
|
||||
name = "layered-image-with-path";
|
||||
tag = "latest";
|
||||
contents = [ pkgs.bashInteractive ./test-dummy ];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue