8 - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
9 - sudo pip install tox tox-pip-version
10 - 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 && make && sudo make install)
17 - stage: run unit tests
18 script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py38,bandit
19 - stage: build functest-kubernetes-core images
22 - REPO="${DOCKER_USERNAME}"
23 - amd64_dirs="docker/core"
26 - script: bash build.sh
28 - REPO="${DOCKER_USERNAME}"
30 - arm_dirs="docker/core"
32 - script: bash build.sh
34 - REPO="${DOCKER_USERNAME}"
37 - arm64_dirs="docker/core"
38 - stage: publish functest-kubernetes-core manifests
40 manifest-tool push from-args \
41 --platforms linux/amd64,linux/arm,linux/arm64 \
42 --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-latest \
43 --target ${DOCKER_USERNAME}/functest-kubernetes-core:latest
44 - stage: build functest-kubernetes-[healthcheck,cnf,security] images
47 - REPO="${DOCKER_USERNAME}"
48 - amd64_dirs="docker/healthcheck"
51 - script: bash build.sh
53 - REPO="${DOCKER_USERNAME}"
55 - arm_dirs="docker/healthcheck"
57 - script: bash build.sh
59 - REPO="${DOCKER_USERNAME}"
62 - arm64_dirs="docker/healthcheck"
63 - script: bash build.sh
65 - REPO="${DOCKER_USERNAME}"
66 - amd64_dirs="docker/cnf"
69 - script: bash build.sh
71 - REPO="${DOCKER_USERNAME}"
73 - arm_dirs="docker/cnf"
75 - script: bash build.sh
77 - REPO="${DOCKER_USERNAME}"
80 - arm64_dirs="docker/cnf"
81 - script: bash build.sh
83 - REPO="${DOCKER_USERNAME}"
84 - amd64_dirs="docker/security"
87 - script: bash build.sh
89 - REPO="${DOCKER_USERNAME}"
91 - arm_dirs="docker/security"
93 - script: bash build.sh
95 - REPO="${DOCKER_USERNAME}"
98 - arm64_dirs="docker/security"
99 - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
101 manifest-tool push from-args \
102 --platforms linux/amd64,linux/arm,linux/arm64 \
104 ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \
105 --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest
107 manifest-tool push from-args \
108 --platforms linux/amd64,linux/arm,linux/arm64 \
109 --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-latest \
110 --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:latest
112 manifest-tool push from-args \
113 --platforms linux/amd64,linux/arm,linux/arm64 \
115 ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-latest \
116 --target ${DOCKER_USERNAME}/functest-kubernetes-security:latest
117 - stage: build functest-kubernetes-smoke image
118 script: bash build.sh
120 - REPO="${DOCKER_USERNAME}"
121 - amd64_dirs="docker/smoke"
124 - script: bash build.sh
126 - REPO="${DOCKER_USERNAME}"
128 - arm_dirs="docker/smoke"
130 - script: bash build.sh
132 - REPO="${DOCKER_USERNAME}"
135 - arm64_dirs="docker/smoke"
136 - stage: publish functest-kubernetes-smoke manifests
138 manifest-tool push from-args \
139 --platforms linux/amd64,linux/arm,linux/arm64 \
140 --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-latest \
141 --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest
142 - stage: build functest-kubernetes-benchmarking image
143 script: bash build.sh
145 - REPO="${DOCKER_USERNAME}"
146 - amd64_dirs="docker/benchmarking"
149 - script: bash build.sh
151 - REPO="${DOCKER_USERNAME}"
153 - arm_dirs="docker/benchmarking"
155 - script: bash build.sh
157 - REPO="${DOCKER_USERNAME}"
160 - arm64_dirs="docker/benchmarking"
161 - stage: publish functest-kubernetes-benchmarking manifests
163 manifest-tool push from-args \
164 --platforms linux/amd64,linux/arm,linux/arm64 \
166 ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-latest \
167 --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:latest