Add some build option in build.sh for supporting arm arch
[functest-kubernetes.git] / build.sh
index 8238795..75d7414 100644 (file)
--- a/build.sh
+++ b/build.sh
@@ -8,24 +8,48 @@ docker/core \
 docker/healthcheck \
 docker/smoke \
 docker/features"}
+arm64_dirs=${arm64_dirs-${amd64_dirs}}
 build_opts=(--pull=true --no-cache --force-rm=true)
 
 find . -name Dockerfile -exec sed -i \
-    -e "s|opnfv/functest-kubernetes-core|${repo}/functest-kubernetes-core|g" \
-    {} +
+    -e "s|opnfv/functest-kubernetes-core|\
+${repo}/functest-kubernetes-core:amd64-latest|g" {} +
 find . -name Dockerfile -exec sed -i \
     -e "s|opnfv/functest-kubernetes-healthcheck|\
-${repo}/functest-kubernetes-healthcheck|g" {} +
+${repo}/functest-kubernetes-healthcheck:amd64-latest|g" {} +
 for dir in ${amd64_dirs}; do
-    (cd "${dir}" && docker build "${build_opts[@]}" \
-        -t "${repo}/functest-kubernetes-${dir##**/}" .)
-    #docker push "${repo}/functest-kubernetes-${dir##**/}"
+    (cd "${dir}" &&
+        docker build "${build_opts[@]}" \
+            -t "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" .)
+        docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-latest"
     [ "${dir}" != "docker/core" ] &&
-        (docker rmi "${repo}/functest-kubernetes-${dir##**/}" || true)
+        (docker rmi \
+            "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" || true)
 done
 [ ! -z "${amd64_dirs}" ] &&
-    (docker rmi "${repo}/functest-kubernetes-healthcheck" \
-        "${repo}/functest-kubernetes-core" alpine:3.7 || true)
+    (docker rmi \
+        "${repo}/functest-kubernetes-core:amd64-latest" alpine:3.7 || true)
+find . -name Dockerfile -exec git checkout {} +
+
+find . -name Dockerfile -exec sed -i \
+    -e "s|alpine:3.7|multiarch/alpine:arm64-v3.7|g" {} +
+find . -name Dockerfile -exec sed -i \
+    -e "s|opnfv/functest-kubernetes-core|\
+${repo}/functest-kubernetes-core:arm64-latest|g" {} +
+find . -name Dockerfile -exec sed -i \
+    -e "s|opnfv/functest-kubernetes-healthcheck|\
+${repo}/functest-kubernetes-healthcheck:arm64-latest|g" {} +
+for dir in ${arm64_dirs}; do
+    (cd "${dir}" && docker build "${build_opts[@]}" \
+        -t "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" .)
+    docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-latest"
+    [ "${dir}" != "docker/core" ] &&
+        (docker rmi \
+            "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" || true)
+done
+[ ! -z "${arm64_dirs}" ] &&
+    (docker rmi "${repo}/functest-kubernetes-core:arm64-latest" \
+        multiarch/alpine:arm64-v3.7 || true)
 find . -name Dockerfile -exec git checkout {} +
 
 exit $?