12 - sudo apt-get -y install enchant
13 - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
14 - sudo add-apt-repository -y ppa:deadsnakes/ppa
16 - sudo apt-get install python3.6 python3.6-dev
17 - sudo pip install tox tox-pip-version
18 - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
19 - (cd .. && git clone https://github.com/estesp/manifest-tool)
20 - (cd ../manifest-tool && git checkout v0.9.0)
21 - (cd ../manifest-tool && sudo -E make && sudo -E make install)
25 - stage: run unit tests
28 docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,py36,cover
29 - stage: build functest-core images
30 script: sudo -E bash build.sh
32 - REPO="${DOCKER_USERNAME}"
33 - amd64_dirs="docker/core"
36 - script: sudo -E bash build.sh
38 - REPO="${DOCKER_USERNAME}"
40 - arm64_dirs="docker/core"
42 - script: sudo -E bash build.sh
44 - REPO="${DOCKER_USERNAME}"
47 - arm_dirs="docker/core"
48 - stage: publish functest-core manifests
50 sudo manifest-tool push from-args \
51 --platforms linux/amd64,linux/arm,linux/arm64 \
52 --template ${DOCKER_USERNAME}/functest-core:ARCH-hunter \
53 --target ${DOCKER_USERNAME}/functest-core:hunter
54 - stage: build functest-tempest images
55 script: sudo -E bash build.sh
57 - REPO="${DOCKER_USERNAME}"
58 - amd64_dirs="docker/tempest"
61 - script: sudo -E bash build.sh
63 - REPO="${DOCKER_USERNAME}"
65 - arm64_dirs="docker/tempest"
67 - script: sudo -E bash build.sh
69 - REPO="${DOCKER_USERNAME}"
72 - arm_dirs="docker/tempest"
73 - stage: publish functest-tempest manifests
75 sudo manifest-tool push from-args \
76 --platforms linux/amd64,linux/arm,linux/arm64 \
77 --template ${DOCKER_USERNAME}/functest-tempest:ARCH-hunter \
78 --target ${DOCKER_USERNAME}/functest-tempest:hunter
79 - stage: build all functest images
80 script: sudo -E bash build.sh
82 - REPO="${DOCKER_USERNAME}"
83 - amd64_dirs="docker/healthcheck"
86 - script: sudo -E bash build.sh
88 - REPO="${DOCKER_USERNAME}"
90 - arm64_dirs="docker/healthcheck"
92 - script: sudo -E bash build.sh
94 - REPO="${DOCKER_USERNAME}"
97 - arm_dirs="docker/healthcheck"
98 - script: sudo -E bash build.sh
100 - REPO="${DOCKER_USERNAME}"
101 - amd64_dirs="docker/smoke"
104 - script: sudo -E bash build.sh
106 - REPO="${DOCKER_USERNAME}"
108 - arm64_dirs="docker/smoke"
110 - script: sudo -E bash build.sh
112 - REPO="${DOCKER_USERNAME}"
115 - arm_dirs="docker/smoke"
116 - script: sudo -E bash build.sh
118 - REPO="${DOCKER_USERNAME}"
119 - amd64_dirs="docker/benchmarking"
122 - script: sudo -E bash build.sh
124 - REPO="${DOCKER_USERNAME}"
126 - arm64_dirs="docker/benchmarking"
128 - script: sudo -E bash build.sh
130 - REPO="${DOCKER_USERNAME}"
133 - arm_dirs="docker/benchmarking"
134 - script: sudo -E bash build.sh
136 - REPO="${DOCKER_USERNAME}"
137 - amd64_dirs="docker/features"
140 - script: sudo -E bash build.sh
142 - REPO="${DOCKER_USERNAME}"
144 - arm64_dirs="docker/features"
146 - script: sudo -E bash build.sh
148 - REPO="${DOCKER_USERNAME}"
151 - arm_dirs="docker/features"
152 - script: sudo -E bash build.sh
154 - REPO="${DOCKER_USERNAME}"
155 - amd64_dirs="docker/vnf"
158 - script: sudo -E bash build.sh
160 - REPO="${DOCKER_USERNAME}"
162 - arm64_dirs="docker/vnf"
164 - script: sudo -E bash build.sh
166 - REPO="${DOCKER_USERNAME}"
169 - arm_dirs="docker/vnf"
170 - stage: publish all manifests
172 sudo manifest-tool push from-args \
173 --platforms linux/amd64,linux/arm,linux/arm64 \
174 --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-hunter \
175 --target ${DOCKER_USERNAME}/functest-healthcheck:hunter
177 sudo manifest-tool push from-args \
178 --platforms linux/amd64,linux/arm,linux/arm64 \
179 --template ${DOCKER_USERNAME}/functest-smoke:ARCH-hunter \
180 --target ${DOCKER_USERNAME}/functest-smoke:hunter
182 sudo manifest-tool push from-args \
183 --platforms linux/amd64,linux/arm,linux/arm64 \
184 --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-hunter \
185 --target ${DOCKER_USERNAME}/functest-benchmarking:hunter
187 sudo manifest-tool push from-args \
188 --platforms linux/amd64,linux/arm,linux/arm64 \
189 --template ${DOCKER_USERNAME}/functest-features:ARCH-hunter \
190 --target ${DOCKER_USERNAME}/functest-features:hunter
192 sudo manifest-tool push from-args \
193 --platforms linux/amd64,linux/arm,linux/arm64 \
194 --template ${DOCKER_USERNAME}/functest-vnf:ARCH-hunter \
195 --target ${DOCKER_USERNAME}/functest-vnf:hunter
196 - stage: build all functest cntt images
197 script: sudo -E bash build.sh
199 - REPO="${DOCKER_USERNAME}"
200 - amd64_dirs="docker/smoke-cntt"
203 - script: sudo -E bash build.sh
205 - REPO="${DOCKER_USERNAME}"
207 - arm64_dirs="docker/smoke-cntt"
209 - script: sudo -E bash build.sh
211 - REPO="${DOCKER_USERNAME}"
214 - arm_dirs="docker/smoke-cntt"
215 - script: sudo -E bash build.sh
217 - REPO="${DOCKER_USERNAME}"
218 - amd64_dirs="docker/benchmarking-cntt"
221 - script: sudo -E bash build.sh
223 - REPO="${DOCKER_USERNAME}"
225 - arm64_dirs="docker/benchmarking-cntt"
227 - script: sudo -E bash build.sh
229 - REPO="${DOCKER_USERNAME}"
232 - arm_dirs="docker/benchmarking-cntt"
233 - stage: publish all cntt manifests
235 sudo manifest-tool push from-args \
236 --platforms linux/amd64,linux/arm,linux/arm64 \
237 --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-hunter \
238 --target ${DOCKER_USERNAME}/functest-smoke-cntt:hunter
240 sudo manifest-tool push from-args \
241 --platforms linux/amd64,linux/arm,linux/arm64 \
242 --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-hunter \
243 --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:hunter