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