--- sudo: required language: generic services: docker dist: focal before_script: - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - sudo pip install tox tox-pip-version - sudo apt-get update && sudo apt-get install -y enchant - 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: run unit tests script: tox -e pep8,pylint,yamllint,bashate,py38,bandit - stage: build functest-kubernetes-core images script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/core" - 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-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-core:latest - stage: build functest-kubernetes-[healthcheck,cnf,security] images script: bash build.sh env: - REPO="${DOCKER_USERNAME}" - amd64_dirs="docker/healthcheck" - 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/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-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest - script: > manifest-tool push from-args \ --platforms linux/amd64,linux/arm,linux/arm64 \ --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:latest - script: > manifest-tool push from-args \ --platforms linux/amd64,linux/arm,linux/arm64 \ --template \ ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-security:latest - stage: build functest-kubernetes-smoke image 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-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest - 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-latest \ --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:latest