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