Turn bashate warnings into errors
[functest-kubernetes.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 arm64_dirs=${arm64_dirs-${amd64_dirs}}
12 build_opts=(--pull=true --no-cache --force-rm=true)
13
14 find . -name Dockerfile -exec sed -i \
15     -e "s|opnfv/functest-kubernetes-core:hunter|\
16 ${repo}/functest-kubernetes-core:amd64-hunter|g" {} +
17 find . -name Dockerfile -exec sed -i \
18     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
19 ${repo}/functest-kubernetes-healthcheck:amd64-hunter|g" {} +
20 for dir in ${amd64_dirs}; do
21     (cd "${dir}" &&
22         docker build "${build_opts[@]}" \
23             -t "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" .)
24         docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter"
25     [ "${dir}" != "docker/core" ] &&
26         (docker rmi \
27             "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" || true)
28 done
29 [ ! -z "${amd64_dirs}" ] &&
30     (docker rmi \
31         "${repo}/functest-kubernetes-core:amd64-hunter" \
32         golang:1.11-alpine3.9 || true)
33 find . -name Dockerfile -exec git checkout {} +
34
35 find . -name Dockerfile -exec sed -i \
36     -e "s|golang:1.11-alpine3.9|arm64v8/golang:1.11-alpine3.9|g" {} +
37 find . -name Dockerfile -exec sed -i \
38     -e "s|opnfv/functest-kubernetes-core:hunter|\
39 ${repo}/functest-kubernetes-core:arm64-hunter|g" {} +
40 find . -name Dockerfile -exec sed -i \
41     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
42 ${repo}/functest-kubernetes-healthcheck:arm64-hunter|g" {} +
43 for dir in ${arm64_dirs}; do
44     (cd "${dir}" && docker build "${build_opts[@]}" \
45         -t "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" .)
46     docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter"
47     [ "${dir}" != "docker/core" ] &&
48         (docker rmi \
49             "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" || true)
50 done
51 [ ! -z "${arm64_dirs}" ] &&
52     (docker rmi "${repo}/functest-kubernetes-core:arm64-hunter" \
53         arm64v8/golang:1.11-alpine3.9 || true)
54 find . -name Dockerfile -exec git checkout {} +
55
56 exit $?