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}"
62 - arm_dirs="docker/healthcheck"
64 - script: bash build.sh
66 - REPO="${DOCKER_USERNAME}"
69 - arm64_dirs="docker/healthcheck"
70 - script: bash build.sh
72 - REPO="${DOCKER_USERNAME}"
73 - amd64_dirs="docker/cnf"
76 - script: bash build.sh
78 - REPO="${DOCKER_USERNAME}"
80 - arm_dirs="docker/cnf"
82 - script: bash build.sh
84 - REPO="${DOCKER_USERNAME}"
87 - arm64_dirs="docker/cnf"
88 - script: bash build.sh
90 - REPO="${DOCKER_USERNAME}"
91 - amd64_dirs="docker/security"
94 - script: bash build.sh
96 - REPO="${DOCKER_USERNAME}"
98 - arm_dirs="docker/security"
100 - script: bash build.sh
102 - REPO="${DOCKER_USERNAME}"
105 - arm64_dirs="docker/security"
106 - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
108 manifest-tool push from-args \
109 --platforms linux/amd64,linux/arm,linux/arm64 \
111 ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-jerma \
112 --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:jerma
114 manifest-tool push from-args \
115 --platforms linux/amd64,linux/arm,linux/arm64 \
116 --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-jerma \
117 --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:jerma
119 manifest-tool push from-args \
120 --platforms linux/amd64,linux/arm,linux/arm64 \
122 ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-jerma \
123 --target ${DOCKER_USERNAME}/functest-kubernetes-security:jerma
124 - stage: build functest-kubernetes-smoke image
125 script: bash build.sh
127 - REPO="${DOCKER_USERNAME}"
128 - amd64_dirs="docker/smoke"
131 - script: bash build.sh
133 - REPO="${DOCKER_USERNAME}"
135 - arm_dirs="docker/smoke"
137 - script: bash build.sh
139 - REPO="${DOCKER_USERNAME}"
142 - arm64_dirs="docker/smoke"
143 - stage: publish functest-kubernetes-smoke manifests
145 manifest-tool push from-args \
146 --platforms linux/amd64,linux/arm,linux/arm64 \
147 --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-jerma \
148 --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:jerma
149 - stage: build functest-kubernetes-benchmarking image
150 script: bash build.sh
152 - REPO="${DOCKER_USERNAME}"
153 - amd64_dirs="docker/benchmarking"
156 - script: bash build.sh
158 - REPO="${DOCKER_USERNAME}"
160 - arm_dirs="docker/benchmarking"
162 - script: bash build.sh
164 - REPO="${DOCKER_USERNAME}"
167 - arm64_dirs="docker/benchmarking"
168 - stage: publish functest-kubernetes-benchmarking manifests
170 manifest-tool push from-args \
171 --platforms linux/amd64,linux/arm,linux/arm64 \
173 ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-jerma \
174 --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:jerma