aboutsummaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2017-10-11 05:29:11 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2017-10-12 14:14:20 +0200
commited777b643b05fbb71851df0b883483e0bcaa4ac1 (patch)
treebce5490bbcf9fe4b31cceb0b516c7973a85071fc /build.sh
parentcb52dd523c58a6567b53ea5b79169295e1471117 (diff)
Allow building aarch64 images
It must be noted that Docker automated build cannot create these images as the prerequisites are unmet to cross-compile [1]. It also publishes a travis config file [2]. [1] https://www.kernel.org/doc/html/v4.11/admin-guide/binfmt-misc.html [2] https://travis-ci.org/collivier/functest/builds/286932633 Change-Id: I11fdef410cc40989132205a098410175f789fdef Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'build.sh')
-rw-r--r--build.sh23
1 files changed, 16 insertions, 7 deletions
diff --git a/build.sh b/build.sh
index 18d2e58de..3b46cb06e 100644
--- a/build.sh
+++ b/build.sh
@@ -3,7 +3,7 @@
set -e
repo=${repo:-opnfv}
-dirs="\
+x86_64_dirs=${x86_64_dirs-"\
docker/core \
docker/healthcheck \
docker/smoke \
@@ -11,14 +11,23 @@ docker/features \
docker/components \
docker/vnf \
docker/parser \
-docker/restapi"
+docker/restapi"}
+aarch64_dirs=${aarch64_dirs-$(echo "${x86_64_dirs}" | sed -e "s|docker/vnf||" \
+ -e "s|docker/restapi||")}
-(cd docker && docker build -t "${repo}/functest" .)
-docker push "${repo}/functest"
+find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:x86_64-latest|g" {} +
+for dir in ${x86_64_dirs}; do
+ (cd "${dir}" && docker build -t "${repo}/functest-${dir##**/}:x86_64-latest" .)
+ docker push "${repo}/functest-${dir##**/}:x86_64-latest"
+done
+find . -name Dockerfile -exec git checkout {} +
-for dir in ${dirs}; do
- (cd ${dir} && docker build -t "${repo}/functest-${dir##**/}" .)
- docker push "${repo}/functest-${dir##**/}"
+find . -name Dockerfile -exec sed -i -e "s|alpine:3.6|multiarch/alpine:aarch64-v3.6|g" {} +
+find . -name Dockerfile -exec sed -i -e "s|opnfv/functest-core|${repo}/functest-core:aarch64-latest|g" {} +
+for dir in ${aarch64_dirs}; do
+ (cd "${dir}" && docker build -t "${repo}/functest-${dir##**/}:aarch64-latest" .)
+ docker push "${repo}/functest-${dir##**/}:aarch64-latest"
done
+find . -name Dockerfile -exec git checkout {} +
exit $?