X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=.travis.yml;h=f1c504dce5a5ec766af131e65ed04e6ccb8301ef;hb=65dd04abf7774a8a2bc411b686c09b695fa6eff9;hp=75557e02f9e92e6e85dcc6681c7f7b6f795e7ba4;hpb=a648c585200c7483c3ed82bdf8b654e1ea01cee7;p=functest-kubernetes.git diff --git a/.travis.yml b/.travis.yml index 75557e02..f1c504dc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,28 +2,137 @@ sudo: required language: generic services: docker +dist: xenial +addons: + apt: + packages: + - libssl1.0.0 before_script: - - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}" + - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - sudo add-apt-repository -y ppa:deadsnakes/ppa + - sudo apt-get update + - sudo apt-get install python3.6 python3.6-dev + - sudo pip install tox + - docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}" + - (cd .. && git clone https://github.com/estesp/manifest-tool) + - (cd ../manifest-tool && git checkout v0.9.0) + - (cd ../manifest-tool && make && sudo make install) jobs: include: - - stage: build functest-kubernetes-core image - script: sudo -E bash build.sh + - stage: run unit tests + script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py27,py36,bandit + - stage: build functest-kubernetes-core images + script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/core" - - stage: build functest-kubernetes-[healthcheck,features] image - script: sudo -E bash build.sh + - arm_dirs="" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="docker/core" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="" + - arm64_dirs="docker/core" + - stage: publish functest-kubernetes-core manifests + script: > + manifest-tool push from-args \ + --platforms linux/amd64,linux/arm,linux/arm64 \ + --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-core:hunter + - stage: build functest-kubernetes-[healthcheck,cnf,security] images + script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/healthcheck" - - script: sudo -E bash build.sh + - arm_dirs="" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="docker/cnf" + - arm_dirs="" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="docker/cnf" + - arm64_dirs="" + - script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - - amd64_dirs="docker/features" + - amd64_dirs="" + - arm_dirs="" + - arm64_dirs="docker/cnf" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="docker/security" + - arm_dirs="" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="docker/security" + - arm64_dirs="" + - script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm_dirs="" + - arm64_dirs="docker/security" + - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests + script: > + manifest-tool push from-args \ + --platforms linux/amd64 \ + --template \ + ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:hunter + - script: > + manifest-tool push from-args \ + --platforms linux/amd64,linux/arm,linux/arm64 \ + --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:hunter + - script: > + manifest-tool push from-args \ + --platforms linux/amd64,linux/arm,linux/arm64 \ + --template \ + ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-security:hunter - stage: build functest-kubernetes-smoke image - script: sudo -E bash build.sh + script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/smoke" + - arm_dirs="" + - arm64_dirs="" + - stage: publish functest-kubernetes-smoke manifests + script: > + manifest-tool push from-args \ + --platforms linux/amd64 \ + --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:hunter + - stage: build functest-kubernetes-benchmarking image + script: bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="docker/benchmarking" + - arm_dirs="" + - arm64_dirs="" + - stage: publish functest-kubernetes-benchmarking manifests + script: > + manifest-tool push from-args \ + --platforms linux/amd64 \ + --template \ + ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-hunter \ + --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:hunter