sudo: required
services: docker
language: generic
-dist: xenial
-addons:
- apt:
- packages:
- - libssl1.0.0
+dist: focal
before_script:
- - sudo apt-get -y install qemu-user-static
- - sudo add-apt-repository -y ppa:jonathonf/python-3.6
- - sudo apt-get update
- - sudo apt-get install python3.6 python3.6-dev
- - sudo pip install tox
+ - sudo 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
- sudo -E 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)
jobs:
include:
- stage: run unit tests
- script: tox -e docs,pep8,pylint,yamllint,bashate,py27,py36,cover
+ script: >
+ tox -e \
+ docs,pep8,pylint,yamllint,bashate,bandit,py38,cover
- stage: build functest-core images
- script: sudo -E bash build.sh
+ script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/core"
- arm64_dirs=""
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/core"
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
--platforms linux/amd64,linux/arm,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-core:latest
- - stage: build functest-tempest images
- script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs="docker/tempest"
- - arm64_dirs=""
- - arm_dirs=""
- - script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs=""
- - arm64_dirs="docker/tempest"
- - arm_dirs=""
- - script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs=""
- - arm64_dirs=""
- - arm_dirs="docker/tempest"
- - stage: publish functest-tempest manifests
- script: >
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm,linux/arm64 \
- --template ${DOCKER_USERNAME}/functest-tempest:ARCH-latest \
- --target ${DOCKER_USERNAME}/functest-tempest:latest
- stage: build all functest images
- script: sudo -E bash build.sh
+ script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/healthcheck"
- arm64_dirs=""
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/healthcheck"
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs=""
- arm_dirs="docker/healthcheck"
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/smoke"
- arm64_dirs=""
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/smoke"
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs=""
- arm_dirs="docker/smoke"
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/benchmarking"
- arm64_dirs=""
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/benchmarking"
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs=""
- arm_dirs="docker/benchmarking"
- - script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs="docker/features"
- - arm64_dirs=""
- - arm_dirs=""
- - script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs=""
- - arm64_dirs="docker/features"
- - arm_dirs=""
- - script: sudo -E bash build.sh
- env:
- - REPO="${DOCKER_USERNAME}"
- - amd64_dirs=""
- - arm64_dirs=""
- - arm_dirs="docker/features"
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/vnf"
- arm64_dirs=""
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/vnf"
- arm_dirs=""
- - script: sudo -E bash build.sh
+ - script: sudo -E sh build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm,linux/arm64 \
- --template ${DOCKER_USERNAME}/functest-features:ARCH-latest \
- --target ${DOCKER_USERNAME}/functest-features:latest
+ --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
+ --target ${DOCKER_USERNAME}/functest-vnf:latest
+ - stage: build all functest cntt images
+ script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs="docker/smoke-cntt"
+ - arm64_dirs=""
+ - arm_dirs=""
+ - script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm64_dirs="docker/smoke-cntt"
+ - arm_dirs=""
+ - script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm64_dirs=""
+ - arm_dirs="docker/smoke-cntt"
+ - script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs="docker/benchmarking-cntt"
+ - arm64_dirs=""
+ - arm_dirs=""
+ - script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm64_dirs="docker/benchmarking-cntt"
+ - arm_dirs=""
+ - script: sudo -E sh build.sh
+ env:
+ - REPO="${DOCKER_USERNAME}"
+ - amd64_dirs=""
+ - arm64_dirs=""
+ - arm_dirs="docker/benchmarking-cntt"
+ - stage: publish all cntt manifests
+ script: >
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm,linux/arm64 \
+ --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-latest \
+ --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm,linux/arm64 \
- --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
- --target ${DOCKER_USERNAME}/functest-vnf:latest
+ --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
+ --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest