Merge "Add functest-patrole in build.sh"
[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/features \
11 docker/components \
12 docker/vnf \
13 docker/parser \
14 docker/patrole \
15 docker/restapi"}
16 arm64_dirs=${arm64_dirs-${amd64_dirs}}
17 build_opts=(--pull=true --no-cache --force-rm=true)
18
19 find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:amd64-latest|g" {} +
20 for dir in ${amd64_dirs}; do
21     (cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:amd64-latest" .)
22     docker push "${repo}/functest-${dir##**/}:amd64-latest"
23     [ "${dir}" != "docker/core" ] && (docker rmi "${repo}/functest-${dir##**/}:amd64-latest" || true)
24 done
25 [ ! -z "${amd64_dirs}" ] && (docker rmi "${repo}/functest-core:amd64-latest" alpine:3.7 || true)
26 find . -name Dockerfile -exec git checkout {} +
27
28 find . -name Dockerfile -exec sed -i -e "s|alpine:3.7|multiarch/alpine:arm64-v3.7|g" {} +
29 find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:arm64-latest|g" {} +
30 for dir in ${arm64_dirs}; do
31     (cd "${dir}" && docker build "${build_opts[@]}" -t "${repo}/functest-${dir##**/}:arm64-latest" .)
32     docker push "${repo}/functest-${dir##**/}:arm64-latest"
33     [ "${dir}" != "docker/core" ] && (docker rmi "${repo}/functest-${dir##**/}:arm64-latest" || true)
34 done
35 [ ! -z "${arm64_dirs}" ] && (docker rmi "${repo}/functest-core:arm64-latest" multiarch/alpine:arm64-v3.7 || true)
36 find . -name Dockerfile -exec git checkout {} +
37
38 exit $?