8 - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
9 - sudo pip install tox tox-pip-version
10 - sudo apt-get update && sudo apt-get install -y enchant
11 - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
12 - (cd .. && git clone https://github.com/estesp/manifest-tool)
13 - (cd ../manifest-tool && git checkout v0.9.0)
14 - (cd ../manifest-tool && sudo -E make && sudo -E make install)
18 - stage: run unit tests
21 docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py38,cover
22 - stage: build functest-core images
23 script: sudo -E bash build.sh
25 - REPO="${DOCKER_USERNAME}"
26 - amd64_dirs="docker/core"
29 - script: sudo -E bash build.sh
31 - REPO="${DOCKER_USERNAME}"
33 - arm64_dirs="docker/core"
35 - script: sudo -E bash build.sh
37 - REPO="${DOCKER_USERNAME}"
40 - arm_dirs="docker/core"
41 - stage: publish functest-core manifests
43 sudo manifest-tool push from-args \
44 --platforms linux/amd64,linux/arm,linux/arm64 \
45 --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
46 --target ${DOCKER_USERNAME}/functest-core:latest
47 - stage: build all functest images
48 script: sudo -E bash build.sh
50 - REPO="${DOCKER_USERNAME}"
51 - amd64_dirs="docker/healthcheck"
54 - script: sudo -E bash build.sh
56 - REPO="${DOCKER_USERNAME}"
58 - arm64_dirs="docker/healthcheck"
60 - script: sudo -E bash build.sh
62 - REPO="${DOCKER_USERNAME}"
65 - arm_dirs="docker/healthcheck"
66 - script: sudo -E bash build.sh
68 - REPO="${DOCKER_USERNAME}"
69 - amd64_dirs="docker/smoke"
72 - script: sudo -E bash build.sh
74 - REPO="${DOCKER_USERNAME}"
76 - arm64_dirs="docker/smoke"
78 - script: sudo -E bash build.sh
80 - REPO="${DOCKER_USERNAME}"
83 - arm_dirs="docker/smoke"
84 - script: sudo -E bash build.sh
86 - REPO="${DOCKER_USERNAME}"
87 - amd64_dirs="docker/benchmarking"
90 - script: sudo -E bash build.sh
92 - REPO="${DOCKER_USERNAME}"
94 - arm64_dirs="docker/benchmarking"
96 - script: sudo -E bash build.sh
98 - REPO="${DOCKER_USERNAME}"
101 - arm_dirs="docker/benchmarking"
102 - script: sudo -E bash build.sh
104 - REPO="${DOCKER_USERNAME}"
105 - amd64_dirs="docker/vnf"
108 - script: sudo -E bash build.sh
110 - REPO="${DOCKER_USERNAME}"
112 - arm64_dirs="docker/vnf"
114 - script: sudo -E bash build.sh
116 - REPO="${DOCKER_USERNAME}"
119 - arm_dirs="docker/vnf"
120 - stage: publish all manifests
122 sudo manifest-tool push from-args \
123 --platforms linux/amd64,linux/arm,linux/arm64 \
124 --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
125 --target ${DOCKER_USERNAME}/functest-healthcheck:latest
127 sudo manifest-tool push from-args \
128 --platforms linux/amd64,linux/arm,linux/arm64 \
129 --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
130 --target ${DOCKER_USERNAME}/functest-smoke:latest
132 sudo manifest-tool push from-args \
133 --platforms linux/amd64,linux/arm,linux/arm64 \
134 --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
135 --target ${DOCKER_USERNAME}/functest-benchmarking:latest
137 sudo manifest-tool push from-args \
138 --platforms linux/amd64,linux/arm,linux/arm64 \
139 --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
140 --target ${DOCKER_USERNAME}/functest-vnf:latest
141 - stage: build all functest cntt images
142 script: sudo -E bash build.sh
144 - REPO="${DOCKER_USERNAME}"
145 - amd64_dirs="docker/smoke-cntt"
148 - script: sudo -E bash build.sh
150 - REPO="${DOCKER_USERNAME}"
152 - arm64_dirs="docker/smoke-cntt"
154 - script: sudo -E bash build.sh
156 - REPO="${DOCKER_USERNAME}"
159 - arm_dirs="docker/smoke-cntt"
160 - script: sudo -E bash build.sh
162 - REPO="${DOCKER_USERNAME}"
163 - amd64_dirs="docker/benchmarking-cntt"
166 - script: sudo -E bash build.sh
168 - REPO="${DOCKER_USERNAME}"
170 - arm64_dirs="docker/benchmarking-cntt"
172 - script: sudo -E bash build.sh
174 - REPO="${DOCKER_USERNAME}"
177 - arm_dirs="docker/benchmarking-cntt"
178 - stage: publish all cntt manifests
180 sudo manifest-tool push from-args \
181 --platforms linux/amd64,linux/arm,linux/arm64 \
182 --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-latest \
183 --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
185 sudo manifest-tool push from-args \
186 --platforms linux/amd64,linux/arm,linux/arm64 \
187 --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
188 --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest