dockerTools: Always cross compile for another arch in the cross example
The example fails to build on aarch64, so lets cross build for gnu64.
This commit is contained in:
parent
31c3d39866
commit
b7b22c5814
|
@ -237,14 +237,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
|
||||||
with subtest("Ensure cross compiled image can be loaded and has correct arch."):
|
with subtest("Ensure cross compiled image can be loaded and has correct arch."):
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker load --input='${pkgs.dockerTools.examples.cross-aarch64}'",
|
"docker load --input='${pkgs.dockerTools.examples.cross}'",
|
||||||
)
|
)
|
||||||
assert (
|
assert (
|
||||||
docker.succeed(
|
docker.succeed(
|
||||||
"docker inspect ${pkgs.dockerTools.examples.cross-aarch64.imageName} "
|
"docker inspect ${pkgs.dockerTools.examples.cross.imageName} "
|
||||||
+ "| ${pkgs.jq}/bin/jq -r .[].Architecture"
|
+ "| ${pkgs.jq}/bin/jq -r .[].Architecture"
|
||||||
).strip()
|
).strip()
|
||||||
== "arm64v8"
|
== "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64v8"}"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
})
|
})
|
||||||
|
|
|
@ -408,10 +408,15 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
# basic example, with cross compilation
|
# basic example, with cross compilation
|
||||||
cross-aarch64 = pkgsCross.aarch64-multiplatform.dockerTools.buildImage {
|
cross = let
|
||||||
|
# Cross compile for x86_64 if on aarch64
|
||||||
|
crossPkgs =
|
||||||
|
if pkgs.system == "aarch64-linux" then pkgsCross.gnu64
|
||||||
|
else pkgsCross.aarch64-multiplatform;
|
||||||
|
in crossPkgs.dockerTools.buildImage {
|
||||||
name = "hello-cross";
|
name = "hello-cross";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = pkgsCross.aarch64-multiplatform.hello;
|
contents = crossPkgs.hello;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue