8 - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
9 - sudo pip install tox tox-pip-version
10 - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
11 - (cd .. && git clone https://github.com/estesp/manifest-tool)
12 - (cd ../manifest-tool && git checkout v0.9.0)
13 - (cd ../manifest-tool && sudo -E make && sudo -E make install)
17 - stage: run unit tests
20 docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py38,cover
21 - stage: build functest-core images
22 script: sudo -E bash build.sh
24 - REPO="${DOCKER_USERNAME}"
25 - amd64_dirs="docker/core"
28 - script: sudo -E bash build.sh
30 - REPO="${DOCKER_USERNAME}"
32 - arm64_dirs="docker/core"
34 - script: sudo -E bash build.sh
36 - REPO="${DOCKER_USERNAME}"
39 - arm_dirs="docker/core"
40 - stage: publish functest-core manifests
42 sudo manifest-tool push from-args \
43 --platforms linux/amd64,linux/arm,linux/arm64 \
44 --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
45 --target ${DOCKER_USERNAME}/functest-core:latest
46 - stage: build all functest images
47 script: sudo -E bash build.sh
49 - REPO="${DOCKER_USERNAME}"
50 - amd64_dirs="docker/healthcheck"
53 - script: sudo -E bash build.sh
55 - REPO="${DOCKER_USERNAME}"
57 - arm64_dirs="docker/healthcheck"
59 - script: sudo -E bash build.sh
61 - REPO="${DOCKER_USERNAME}"
64 - arm_dirs="docker/healthcheck"
65 - script: sudo -E bash build.sh
67 - REPO="${DOCKER_USERNAME}"
68 - amd64_dirs="docker/smoke"
71 - script: sudo -E bash build.sh
73 - REPO="${DOCKER_USERNAME}"
75 - arm64_dirs="docker/smoke"
77 - script: sudo -E bash build.sh
79 - REPO="${DOCKER_USERNAME}"
82 - arm_dirs="docker/smoke"
83 - script: sudo -E bash build.sh
85 - REPO="${DOCKER_USERNAME}"
86 - amd64_dirs="docker/benchmarking"
89 - script: sudo -E bash build.sh
91 - REPO="${DOCKER_USERNAME}"
93 - arm64_dirs="docker/benchmarking"
95 - script: sudo -E bash build.sh
97 - REPO="${DOCKER_USERNAME}"
100 - arm_dirs="docker/benchmarking"
101 - script: sudo -E bash build.sh
103 - REPO="${DOCKER_USERNAME}"
104 - amd64_dirs="docker/vnf"
107 - script: sudo -E bash build.sh
109 - REPO="${DOCKER_USERNAME}"
111 - arm64_dirs="docker/vnf"
113 - script: sudo -E bash build.sh
115 - REPO="${DOCKER_USERNAME}"
118 - arm_dirs="docker/vnf"
119 - stage: publish all manifests
121 sudo manifest-tool push from-args \
122 --platforms linux/amd64,linux/arm,linux/arm64 \
123 --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
124 --target ${DOCKER_USERNAME}/functest-healthcheck:latest
126 sudo manifest-tool push from-args \
127 --platforms linux/amd64,linux/arm,linux/arm64 \
128 --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
129 --target ${DOCKER_USERNAME}/functest-smoke:latest
131 sudo manifest-tool push from-args \
132 --platforms linux/amd64,linux/arm,linux/arm64 \
133 --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
134 --target ${DOCKER_USERNAME}/functest-benchmarking:latest
136 sudo manifest-tool push from-args \
137 --platforms linux/amd64,linux/arm,linux/arm64 \
138 --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
139 --target ${DOCKER_USERNAME}/functest-vnf:latest
140 - stage: build all functest cntt images
141 script: sudo -E bash build.sh
143 - REPO="${DOCKER_USERNAME}"
144 - amd64_dirs="docker/smoke-cntt"
147 - script: sudo -E bash build.sh
149 - REPO="${DOCKER_USERNAME}"
151 - arm64_dirs="docker/smoke-cntt"
153 - script: sudo -E bash build.sh
155 - REPO="${DOCKER_USERNAME}"
158 - arm_dirs="docker/smoke-cntt"
159 - script: sudo -E bash build.sh
161 - REPO="${DOCKER_USERNAME}"
162 - amd64_dirs="docker/benchmarking-cntt"
165 - script: sudo -E bash build.sh
167 - REPO="${DOCKER_USERNAME}"
169 - arm64_dirs="docker/benchmarking-cntt"
171 - script: sudo -E bash build.sh
173 - REPO="${DOCKER_USERNAME}"
176 - arm_dirs="docker/benchmarking-cntt"
177 - stage: publish all cntt manifests
179 sudo manifest-tool push from-args \
180 --platforms linux/amd64,linux/arm,linux/arm64 \
181 --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-latest \
182 --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
184 sudo manifest-tool push from-args \
185 --platforms linux/amd64,linux/arm,linux/arm64 \
186 --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
187 --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest