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-iruya \
53 --target ${DOCKER_USERNAME}/functest-core:iruya
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-iruya \
78 --target ${DOCKER_USERNAME}/functest-tempest:iruya
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/vnf"
140 - script: sudo -E bash build.sh
142 - REPO="${DOCKER_USERNAME}"
144 - arm64_dirs="docker/vnf"
146 - script: sudo -E bash build.sh
148 - REPO="${DOCKER_USERNAME}"
151 - arm_dirs="docker/vnf"
152 - stage: publish all manifests
154 sudo manifest-tool push from-args \
155 --platforms linux/amd64,linux/arm,linux/arm64 \
156 --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-iruya \
157 --target ${DOCKER_USERNAME}/functest-healthcheck:iruya
159 sudo manifest-tool push from-args \
160 --platforms linux/amd64,linux/arm,linux/arm64 \
161 --template ${DOCKER_USERNAME}/functest-smoke:ARCH-iruya \
162 --target ${DOCKER_USERNAME}/functest-smoke:iruya
164 sudo manifest-tool push from-args \
165 --platforms linux/amd64,linux/arm,linux/arm64 \
166 --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-iruya \
167 --target ${DOCKER_USERNAME}/functest-benchmarking:iruya
169 sudo manifest-tool push from-args \
170 --platforms linux/amd64,linux/arm,linux/arm64 \
171 --template ${DOCKER_USERNAME}/functest-vnf:ARCH-iruya \
172 --target ${DOCKER_USERNAME}/functest-vnf:iruya
173 - stage: build all functest cntt images
174 script: sudo -E bash build.sh
176 - REPO="${DOCKER_USERNAME}"
177 - amd64_dirs="docker/smoke-cntt"
180 - script: sudo -E bash build.sh
182 - REPO="${DOCKER_USERNAME}"
184 - arm64_dirs="docker/smoke-cntt"
186 - script: sudo -E bash build.sh
188 - REPO="${DOCKER_USERNAME}"
191 - arm_dirs="docker/smoke-cntt"
192 - script: sudo -E bash build.sh
194 - REPO="${DOCKER_USERNAME}"
195 - amd64_dirs="docker/benchmarking-cntt"
198 - script: sudo -E bash build.sh
200 - REPO="${DOCKER_USERNAME}"
202 - arm64_dirs="docker/benchmarking-cntt"
204 - script: sudo -E bash build.sh
206 - REPO="${DOCKER_USERNAME}"
209 - arm_dirs="docker/benchmarking-cntt"
210 - stage: publish all cntt manifests
212 sudo manifest-tool push from-args \
213 --platforms linux/amd64,linux/arm,linux/arm64 \
214 --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-iruya \
215 --target ${DOCKER_USERNAME}/functest-smoke-cntt:iruya
217 sudo manifest-tool push from-args \
218 --platforms linux/amd64,linux/arm,linux/arm64 \
219 --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-iruya \
220 --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:iruya