update version. tweak the test (install cython 3.0 for non-x64)
[MACS.git] / make_docker_base.sh
blobeb171e1fdc5605c01da46ba550077b6f1d0efb44
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`.
8 # e.g.
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