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