---
sudo: required
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}"
- amd64_dirs=""
- arm64_dirs="docker/core"
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/core"
- arm64_dirs=""
- stage: publish functest-core manifests
script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-core:latest
- stage: build all functest images
script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/healthcheck"
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/smoke"
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/components"
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs=""
- arm64_dirs="docker/parser"
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/healthcheck"
- arm64_dirs=""
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/smoke"
- arm64_dirs=""
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/features"
- arm64_dirs=""
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/components"
- arm64_dirs=""
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/vnf"
- arm64_dirs=""
- script: sudo -E bash build.sh
env:
- REPO="${DOCKER_USERNAME}"
- amd64_dirs="docker/parser"
- arm64_dirs=""
- stage: publish all manifests
script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-healthcheck:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-smoke:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64 \
--template ${DOCKER_USERNAME}/functest-features:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-features:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-components:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-components:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64 \
--template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-vnf:latest
- script: >
sudo manifest-tool push from-args \
--platforms linux/amd64,linux/arm64 \
--template ${DOCKER_USERNAME}/functest-parser:ARCH-latest \
--target ${DOCKER_USERNAME}/functest-parser:latest