Remove Features containers
[functest.git] / build.sh
1 #!/bin/bash
2
3 set -e
4
5 repo=${REPO:-opnfv}
6 amd64_dirs=${amd64_dirs-"\
7 docker/core \
8 docker/tempest \
9 docker/healthcheck \
10 docker/smoke \
11 docker/benchmarking \
12 docker/vnf"}
13 arm_dirs=${arm_dirs-"\
14 docker/core \
15 docker/tempest \
16 docker/healthcheck \
17 docker/smoke \
18 docker/benchmarking"}
19 arm64_dirs=${arm64_dirs-${amd64_dirs}}
20 build_opts=("--pull=true" --no-cache "--force-rm=true")
21
22 find . -name Dockerfile -exec sed -i \
23     -e "s|opnfv/functest-core|${repo}/functest-core:amd64-latest|g" {} +
24 find . -name Dockerfile -exec sed -i \
25     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:amd64-latest|g" {} +
26 for dir in ${amd64_dirs}; do
27     (cd "${dir}" &&
28         docker build "${build_opts[@]}" \
29             -t "${repo}/functest-${dir##**/}:amd64-latest" .)
30         docker push "${repo}/functest-${dir##**/}:amd64-latest"
31     [ "${dir}" != "docker/core" ] &&
32         (docker rmi "${repo}/functest-${dir##**/}:amd64-latest" || true)
33 done
34 [ -n "${amd64_dirs}" ] &&
35     (docker rmi "${repo}/functest-core:amd64-latest" alpine:3.10 || true)
36 find . -name Dockerfile -exec git checkout {} +
37
38 find . -name Dockerfile -exec sed -i \
39     -e "s|alpine:3.10|multiarch/alpine:arm64-v3.10|g" {} +
40 find . -name Dockerfile -exec sed -i \
41     -e "s|opnfv/functest-core|${repo}/functest-core:arm64-latest|g" {} +
42 find . -name Dockerfile -exec sed -i \
43     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:arm64-latest|g" {} +
44 for dir in ${arm64_dirs}; do
45     (cd "${dir}" && docker build "${build_opts[@]}" \
46         -t "${repo}/functest-${dir##**/}:arm64-latest" .)
47     docker push "${repo}/functest-${dir##**/}:arm64-latest"
48     [ "${dir}" != "docker/core" ] &&
49         (docker rmi "${repo}/functest-${dir##**/}:arm64-latest" || true)
50 done
51 [ -n "${arm64_dirs}" ] &&
52     (docker rmi "${repo}/functest-core:arm64-latest" \
53         multiarch/alpine:arm64-v3.10 || true)
54 find . -name Dockerfile -exec git checkout {} +
55
56 find . -name Dockerfile -exec sed -i \
57     -e "s|alpine:3.10|multiarch/alpine:armhf-v3.10|g" {} +
58 find . -name Dockerfile -exec sed -i \
59     -e "s|opnfv/functest-core|${repo}/functest-core:arm-latest|g" {} +
60 find . -name Dockerfile -exec sed -i \
61     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:arm-latest|g" {} +
62 for dir in ${arm_dirs}; do
63     (cd "${dir}" && docker build "${build_opts[@]}" \
64         -t "${repo}/functest-${dir##**/}:arm-latest" .)
65     docker push "${repo}/functest-${dir##**/}:arm-latest"
66     [ "${dir}" != "docker/core" ] &&
67         (docker rmi "${repo}/functest-${dir##**/}:arm-latest" || true)
68 done
69 [ -n "${arm_dirs}" ] &&
70     (docker rmi "${repo}/functest-core:arm-latest" \
71         multiarch/alpine:armhf-v3.10 || true)
72 find . -name Dockerfile -exec git checkout {} +
73
74 exit $?