Publish functest-cntt-smoke
[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 docker/smoke-cntt"}
20 arm64_dirs=${arm64_dirs-${amd64_dirs}}
21 build_opts=("--pull=true" --no-cache "--force-rm=true")
22
23 find . -name Dockerfile -exec sed -i \
24     -e "s|opnfv/functest-core|${repo}/functest-core:amd64-latest|g" {} +
25 find . -name Dockerfile -exec sed -i \
26     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:amd64-latest|g" {} +
27 for dir in ${amd64_dirs}; do
28     (cd "${dir}" &&
29         docker build "${build_opts[@]}" \
30             -t "${repo}/functest-${dir##**/}:amd64-latest" .)
31         docker push "${repo}/functest-${dir##**/}:amd64-latest"
32     [ "${dir}" != "docker/core" ] &&
33         (docker rmi "${repo}/functest-${dir##**/}:amd64-latest" || true)
34 done
35 [ -n "${amd64_dirs}" ] &&
36     (docker rmi "${repo}/functest-core:amd64-latest" alpine:3.10 || true)
37 find . -name Dockerfile -exec git checkout {} +
38
39 find . -name Dockerfile -exec sed -i \
40     -e "s|alpine:3.10|multiarch/alpine:arm64-v3.10|g" {} +
41 find . -name Dockerfile -exec sed -i \
42     -e "s|opnfv/functest-core|${repo}/functest-core:arm64-latest|g" {} +
43 find . -name Dockerfile -exec sed -i \
44     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:arm64-latest|g" {} +
45 for dir in ${arm64_dirs}; do
46     (cd "${dir}" && docker build "${build_opts[@]}" \
47         -t "${repo}/functest-${dir##**/}:arm64-latest" .)
48     docker push "${repo}/functest-${dir##**/}:arm64-latest"
49     [ "${dir}" != "docker/core" ] &&
50         (docker rmi "${repo}/functest-${dir##**/}:arm64-latest" || true)
51 done
52 [ -n "${arm64_dirs}" ] &&
53     (docker rmi "${repo}/functest-core:arm64-latest" \
54         multiarch/alpine:arm64-v3.10 || true)
55 find . -name Dockerfile -exec git checkout {} +
56
57 find . -name Dockerfile -exec sed -i \
58     -e "s|alpine:3.10|multiarch/alpine:armhf-v3.10|g" {} +
59 find . -name Dockerfile -exec sed -i \
60     -e "s|opnfv/functest-core|${repo}/functest-core:arm-latest|g" {} +
61 find . -name Dockerfile -exec sed -i \
62     -e "s|opnfv/functest-tempest|${repo}/functest-tempest:arm-latest|g" {} +
63 for dir in ${arm_dirs}; do
64     (cd "${dir}" && docker build "${build_opts[@]}" \
65         -t "${repo}/functest-${dir##**/}:arm-latest" .)
66     docker push "${repo}/functest-${dir##**/}:arm-latest"
67     [ "${dir}" != "docker/core" ] &&
68         (docker rmi "${repo}/functest-${dir##**/}:arm-latest" || true)
69 done
70 [ -n "${arm_dirs}" ] &&
71     (docker rmi "${repo}/functest-core:arm-latest" \
72         multiarch/alpine:armhf-v3.10 || true)
73 find . -name Dockerfile -exec git checkout {} +
74
75 exit $?