12 - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
13 - sudo add-apt-repository -y ppa:deadsnakes/ppa
15 - sudo apt-get install python3.7 python3.7-dev
16 - sudo pip install tox
17 - docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
18 - (cd .. && git clone https://github.com/estesp/manifest-tool)
19 - (cd ../manifest-tool && git checkout v0.9.0)
20 - (cd ../manifest-tool && make && sudo make install)
24 - stage: run unit tests
25 script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py37,bandit
26 - stage: build functest-kubernetes-core images
29 - REPO="${DOCKER_USERNAME}"
30 - amd64_dirs="docker/core"
33 - script: bash build.sh
35 - REPO="${DOCKER_USERNAME}"
37 - arm_dirs="docker/core"
39 - script: bash build.sh
41 - REPO="${DOCKER_USERNAME}"
44 - arm64_dirs="docker/core"
45 - stage: publish functest-kubernetes-core manifests
47 manifest-tool push from-args \
48 --platforms linux/amd64,linux/arm,linux/arm64 \
49 --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-jerma \
50 --target ${DOCKER_USERNAME}/functest-kubernetes-core:jerma
51 - stage: build functest-kubernetes-[healthcheck,cnf,security] images
54 - REPO="${DOCKER_USERNAME}"
55 - amd64_dirs="docker/healthcheck"
58 - script: bash build.sh
60 - REPO="${DOCKER_USERNAME}"
61 - amd64_dirs="docker/cnf"
64 - script: bash build.sh
66 - REPO="${DOCKER_USERNAME}"
68 - arm_dirs="docker/cnf"
70 - script: bash build.sh
72 - REPO="${DOCKER_USERNAME}"
75 - arm64_dirs="docker/cnf"
76 - script: bash build.sh
78 - REPO="${DOCKER_USERNAME}"
79 - amd64_dirs="docker/security"
82 - script: bash build.sh
84 - REPO="${DOCKER_USERNAME}"
86 - arm_dirs="docker/security"
88 - script: bash build.sh
90 - REPO="${DOCKER_USERNAME}"
93 - arm64_dirs="docker/security"
94 - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
96 manifest-tool push from-args \
97 --platforms linux/amd64 \
99 ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-jerma \
100 --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:jerma
102 manifest-tool push from-args \
103 --platforms linux/amd64,linux/arm,linux/arm64 \
104 --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-jerma \
105 --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:jerma
107 manifest-tool push from-args \
108 --platforms linux/amd64,linux/arm,linux/arm64 \
110 ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-jerma \
111 --target ${DOCKER_USERNAME}/functest-kubernetes-security:jerma
112 - stage: build functest-kubernetes-smoke image
113 script: bash build.sh
115 - REPO="${DOCKER_USERNAME}"
116 - amd64_dirs="docker/smoke"
119 - stage: publish functest-kubernetes-smoke manifests
121 manifest-tool push from-args \
122 --platforms linux/amd64 \
123 --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-jerma \
124 --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:jerma