1 # This script contains commands to create docker images for multi-arch
2 # testing of MACS3. Note that The dependencies to compile and run
3 # MACS3 have been installed in these images; however, MACS3 is not
4 # installed. After creating the images, one can `docker run` a
5 # container while mounting the MACS source code directory, then
6 # compile/install MACS and run `pytest` and `cmdlinetest`.
9 # $ docker run --rm -it -v $PWD:/macs3_codes -t macs_ppc64le_base
11 # base images are from Debian official images
13 # create Docker image for testing MACS3 in ppc64le
14 docker run
--rm --privileged multiarch
/qemu-user-static
--reset -p yes &&
15 docker build
--rm --build-arg BASE_IMAGE
="ppc64le/debian:buster" -t macs_ppc64le_base
-f test
/Dockerfile.multiarch.base.buster.py37 .
17 # create Docker image for testing MACS3 in i386
18 docker run
--rm --privileged multiarch
/qemu-user-static
--reset -p yes &&
19 docker build
--rm --build-arg BASE_IMAGE
="i386/debian:buster" -t macs_i386_base
-f test
/Dockerfile.multiarch.base.buster.py37 .
21 # create Docker image for testing MACS3 in arm32v7
22 docker run
--rm --privileged multiarch
/qemu-user-static
--reset -p yes &&
23 docker build
--rm --build-arg BASE_IMAGE
="arm32v7/debian:buster" -t macs_arm32v7_base
-f test
/Dockerfile.multiarch.base.buster.py37 .
25 # create Docker image for testing MACS3 in arm64v8/aarch64
26 docker run
--rm --privileged multiarch
/qemu-user-static
--reset -p yes &&
27 docker build
--rm --build-arg BASE_IMAGE
="arm64v8/debian:buster" -t macs_arm64v8_base
-f test
/Dockerfile.multiarch.base.buster.py37 .
29 # create Docker image for testing MACS3 in s390x
30 docker run
--rm --privileged multiarch
/qemu-user-static
--reset -p yes &&
31 docker build
--rm --build-arg BASE_IMAGE
="s390x/debian:buster" -t macs_s390x_base
-f test
/Dockerfile.multiarch.base.buster.py37 .
33 # The final images are macs_ppc64le_base, macs_i386_base, macs_arm32v7_base, macs_arm64v8_base, and macs_s390x_base