8 - 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 - 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 && make && sudo make install)
18 - stage: run unit tests
19 script: tox -e pep8,pylint,yamllint,bashate,py38,bandit
20 - stage: build functest-kubernetes-core images
23 - REPO="${DOCKER_USERNAME}"
24 - amd64_dirs="docker/core"
27 - script: bash build.sh
29 - REPO="${DOCKER_USERNAME}"
31 - arm_dirs="docker/core"
33 - script: bash build.sh
35 - REPO="${DOCKER_USERNAME}"
38 - arm64_dirs="docker/core"
39 - stage: publish functest-kubernetes-core manifests
41 manifest-tool push from-args \
42 --platforms linux/amd64,linux/arm,linux/arm64 \
43 --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-latest \
44 --target ${DOCKER_USERNAME}/functest-kubernetes-core:latest
45 - stage: build functest-kubernetes-[healthcheck,cnf,security] images
48 - REPO="${DOCKER_USERNAME}"
49 - amd64_dirs="docker/healthcheck"
52 - script: bash build.sh
54 - REPO="${DOCKER_USERNAME}"
56 - arm_dirs="docker/healthcheck"
58 - script: bash build.sh
60 - REPO="${DOCKER_USERNAME}"
63 - arm64_dirs="docker/healthcheck"
64 - script: bash build.sh
66 - REPO="${DOCKER_USERNAME}"
67 - amd64_dirs="docker/cnf"
70 - script: bash build.sh
72 - REPO="${DOCKER_USERNAME}"
74 - arm_dirs="docker/cnf"
76 - script: bash build.sh
78 - REPO="${DOCKER_USERNAME}"
81 - arm64_dirs="docker/cnf"
82 - script: bash build.sh
84 - REPO="${DOCKER_USERNAME}"
85 - amd64_dirs="docker/security"
88 - script: bash build.sh
90 - REPO="${DOCKER_USERNAME}"
92 - arm_dirs="docker/security"
94 - script: bash build.sh
96 - REPO="${DOCKER_USERNAME}"
99 - arm64_dirs="docker/security"
100 - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
102 manifest-tool push from-args \
103 --platforms linux/amd64,linux/arm,linux/arm64 \
105 ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \
106 --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest
108 manifest-tool push from-args \
109 --platforms linux/amd64,linux/arm,linux/arm64 \
110 --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-latest \
111 --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:latest
113 manifest-tool push from-args \
114 --platforms linux/amd64,linux/arm,linux/arm64 \
116 ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-latest \
117 --target ${DOCKER_USERNAME}/functest-kubernetes-security:latest
118 - stage: build functest-kubernetes-smoke image
119 script: bash build.sh
121 - REPO="${DOCKER_USERNAME}"
122 - amd64_dirs="docker/smoke"
125 - script: bash build.sh
127 - REPO="${DOCKER_USERNAME}"
129 - arm_dirs="docker/smoke"
131 - script: bash build.sh
133 - REPO="${DOCKER_USERNAME}"
136 - arm64_dirs="docker/smoke"
137 - stage: publish functest-kubernetes-smoke manifests
139 manifest-tool push from-args \
140 --platforms linux/amd64,linux/arm,linux/arm64 \
141 --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-latest \
142 --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest
143 - stage: build functest-kubernetes-benchmarking image
144 script: bash build.sh
146 - REPO="${DOCKER_USERNAME}"
147 - amd64_dirs="docker/benchmarking"
150 - script: bash build.sh
152 - REPO="${DOCKER_USERNAME}"
154 - arm_dirs="docker/benchmarking"
156 - script: bash build.sh
158 - REPO="${DOCKER_USERNAME}"
161 - arm64_dirs="docker/benchmarking"
162 - stage: publish functest-kubernetes-benchmarking manifests
164 manifest-tool push from-args \
165 --platforms linux/amd64,linux/arm,linux/arm64 \
167 ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-latest \
168 --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:latest