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