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.7 python3.7-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,py37,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-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-core:jerma
+ - 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=""
+ - arm_dirs="docker/healthcheck"
+ - arm64_dirs=""
+ - script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm_dirs=""
+ - arm64_dirs="docker/healthcheck"
+ - 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=""
+ - arm_dirs=""
+ - arm64_dirs="docker/cnf"
+ - script: bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- - amd64_dirs="docker/features"
+ - 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,linux/arm,linux/arm64 \
+ --template \
+ ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:jerma
+ - script: >
+ manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:jerma
+ - script: >
+ manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template \
+ ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-security:jerma
- 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=""
+ - script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm_dirs="docker/smoke"
+ - arm64_dirs=""
+ - script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm_dirs=""
+ - arm64_dirs="docker/smoke"
+ - stage: publish functest-kubernetes-smoke manifests
+ script: >
+ manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:jerma
+ - stage: build functest-kubernetes-benchmarking image
+ script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs="docker/benchmarking"
+ - arm_dirs=""
+ - arm64_dirs=""
+ - script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm_dirs="docker/benchmarking"
+ - arm64_dirs=""
+ - script: bash build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm_dirs=""
+ - arm64_dirs="docker/benchmarking"
+ - stage: publish functest-kubernetes-benchmarking manifests
+ script: >
+ manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template \
+ ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-jerma \
+ --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:jerma