summaryrefslogtreecommitdiffstats
path: root/.travis.yml
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 16:34:50 +0200
commit0f1b757e402331341802052ad108f24c823ae7bc (patch)
tree69fa8a02a8afa3e32317e44148b19f2d201dd463 /.travis.yml
parent4cfbefc5c405b65e9dedf06abdba9f0c1e3eb49e (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 Conflicts: build.sh Change-Id: I11fdef410cc40989132205a098410175f789fdef Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit ed777b643b05fbb71851df0b883483e0bcaa4ac1)
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml133
1 files changed, 133 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..4472885cc
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,133 @@
+sudo: required
+language: bash
+services: docker
+language: generic
+
+before_script:
+ - sudo apt-get -y install qemu-user-static
+ - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
+ - (cd .. && git clone https://github.com/estesp/manifest-tool)
+ - (cd ../manifest-tool && sudo -E make && sudo -E make install)
+
+jobs:
+ include:
+ - stage: build functest-core images
+ script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs=""
+ - aarch64_dirs="docker/core"
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/core"
+ - aarch64_dirs=""
+ - stage: publish functest-core manifests
+ script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-core:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-core:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-core:euphrates
+ - stage: build all functest images
+ script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs=""
+ - aarch64_dirs="docker/healthcheck"
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs=""
+ - aarch64_dirs="docker/smoke"
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs=""
+ - aarch64_dirs="docker/features"
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs=""
+ - aarch64_dirs="docker/components"
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/healthcheck"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/smoke"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/features"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/components"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/vnf"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/restapi"
+ - aarch64_dirs=""
+ - script: sudo -E bash build.sh
+ env:
+ - repo="${DOCKER_USERNAME}"
+ - x86_64_dirs="docker/parser"
+ - aarch64_dirs=""
+ - stage: publish all manifests
+ script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-healthcheck:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-healthcheck:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-healthcheck:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-healthcheck:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-healthcheck:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-healthcheck:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-smoke:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-smoke:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-smoke:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-features:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-features:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-features:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-components:x86_64-euphrates \
+ --template ${DOCKER_USERNAME}/functest-components:aarch64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-components:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64 \
+ --template ${DOCKER_USERNAME}/functest-vnf:x86_64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-vnf:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64 \
+ --template ${DOCKER_USERNAME}/functest-restapi:x86_64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-restapi:euphrates
+ - script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64 \
+ --template ${DOCKER_USERNAME}/functest-parser:x86_64-euphrates \
+ --target ${DOCKER_USERNAME}/functest-parser:euphrates