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