Leverage alpine rather than golang
[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:hunter|\
17 ${repo}/functest-kubernetes-core:amd64-hunter|g" {} +
18 find . -name Dockerfile -exec sed -i \
19     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
20 ${repo}/functest-kubernetes-healthcheck:amd64-hunter|g" {} +
21 for dir in ${amd64_dirs}; do
22     (cd "${dir}" &&
23         docker build "${build_opts[@]}" \
24             -t "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" .)
25         docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter"
26     [ "${dir}" != "docker/core" ] &&
27         (docker rmi \
28             "${repo}/functest-kubernetes-${dir##**/}:amd64-hunter" || true)
29 done
30 [ ! -z "${amd64_dirs}" ] &&
31     (docker rmi \
32         "${repo}/functest-kubernetes-core:amd64-hunter" \
33         alpine:3.9 || true)
34 find . -name Dockerfile -exec git checkout {} +
35
36 find . -name Dockerfile -exec sed -i \
37     -e "s|alpine:3.9|arm64v8/alpine:3.9|g" {} +
38 find . -name Dockerfile -exec sed -i \
39     -e "s|opnfv/functest-kubernetes-core:hunter|\
40 ${repo}/functest-kubernetes-core:arm64-hunter|g" {} +
41 find . -name Dockerfile -exec sed -i \
42     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
43 ${repo}/functest-kubernetes-healthcheck:arm64-hunter|g" {} +
44 for dir in ${arm64_dirs}; do
45     (cd "${dir}" && docker build "${build_opts[@]}" \
46         -t "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" .)
47     docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter"
48     [ "${dir}" != "docker/core" ] &&
49         (docker rmi \
50             "${repo}/functest-kubernetes-${dir##**/}:arm64-hunter" || true)
51 done
52 [ ! -z "${arm64_dirs}" ] &&
53     (docker rmi "${repo}/functest-kubernetes-core:arm64-hunter" \
54         arm64v8/alpine:3.9 || true)
55 find . -name Dockerfile -exec git checkout {} +
56
57 find . -name Dockerfile -exec sed -i \
58     -e "s|alpine:3.9|arm32v7/alpine:3.9|g" {} +
59 find . -name Dockerfile -exec sed -i \
60     -e "s|opnfv/functest-kubernetes-core:hunter|\
61 ${repo}/functest-kubernetes-core:arm-hunter|g" {} +
62 find . -name Dockerfile -exec sed -i \
63     -e "s|opnfv/functest-kubernetes-healthcheck:hunter|\
64 ${repo}/functest-kubernetes-healthcheck:arm-hunter|g" {} +
65 for dir in ${arm_dirs}; do
66     (cd "${dir}" && docker build "${build_opts[@]}" \
67         -t "${repo}/functest-kubernetes-${dir##**/}:arm-hunter" .)
68     docker push "${repo}/functest-kubernetes-${dir##**/}:arm-hunter"
69     [ "${dir}" != "docker/core" ] &&
70         (docker rmi \
71             "${repo}/functest-kubernetes-${dir##**/}:arm-hunter" || true)
72 done
73 [ ! -z "${arm_dirs}" ] &&
74     (docker rmi "${repo}/functest-kubernetes-core:arm-hunter" \
75         arm32v7/alpine:3.9 || true)
76 find . -name Dockerfile -exec git checkout {} +
77
78 exit $?