12 - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
13 - sudo add-apt-repository -y ppa:deadsnakes/ppa
15 - sudo apt-get install python3.6 python3.6-dev
16 - sudo pip install tox
17 - docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
18 - (cd .. && git clone https://github.com/estesp/manifest-tool)
19 - (cd ../manifest-tool && git checkout v0.9.0)
20 - (cd ../manifest-tool && make && sudo make install)
24 - stage: run unit tests
25 script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py27,py36,bandit
26 - stage: build functest-kubernetes-core images
29 - REPO="${DOCKER_USERNAME}"
30 - amd64_dirs="docker/core"
33 - script: bash build.sh
35 - REPO="${DOCKER_USERNAME}"
37 - arm_dirs="docker/core"
39 - script: bash build.sh
41 - REPO="${DOCKER_USERNAME}"
44 - arm64_dirs="docker/core"
45 - stage: publish functest-kubernetes-core manifests
47 manifest-tool push from-args \
48 --platforms linux/amd64,linux/arm,linux/arm64 \
49 --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-hunter \
50 --target ${DOCKER_USERNAME}/functest-kubernetes-core:hunter
51 - stage: build functest-kubernetes-[healthcheck,cnf,security] images
54 - REPO="${DOCKER_USERNAME}"
55 - amd64_dirs="docker/healthcheck"
58 - script: bash build.sh
60 - REPO="${DOCKER_USERNAME}"
61 - amd64_dirs="docker/cnf"
64 - script: bash build.sh
66 - REPO="${DOCKER_USERNAME}"
68 - arm_dirs="docker/cnf"
70 - script: bash build.sh
72 - REPO="${DOCKER_USERNAME}"
75 - arm64_dirs="docker/cnf"
76 - script: bash build.sh
78 - REPO="${DOCKER_USERNAME}"
79 - amd64_dirs="docker/security"
82 - script: bash build.sh
84 - REPO="${DOCKER_USERNAME}"
86 - arm_dirs="docker/security"
88 - script: bash build.sh
90 - REPO="${DOCKER_USERNAME}"
93 - arm64_dirs="docker/security"
94 - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
96 manifest-tool push from-args \
97 --platforms linux/amd64 \
99 ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-hunter \
100 --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:hunter
102 manifest-tool push from-args \
103 --platforms linux/amd64,linux/arm,linux/arm64 \
104 --template ${DOCKER_USERNAME}/functest-kubernetes-cnf:ARCH-hunter \
105 --target ${DOCKER_USERNAME}/functest-kubernetes-cnf:hunter
107 manifest-tool push from-args \
108 --platforms linux/amd64,linux/arm,linux/arm64 \
110 ${DOCKER_USERNAME}/functest-kubernetes-security:ARCH-hunter \
111 --target ${DOCKER_USERNAME}/functest-kubernetes-security:hunter
112 - stage: build functest-kubernetes-smoke image
113 script: bash build.sh
115 - REPO="${DOCKER_USERNAME}"
116 - amd64_dirs="docker/smoke"
119 - stage: publish functest-kubernetes-smoke manifests
121 manifest-tool push from-args \
122 --platforms linux/amd64 \
123 --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-hunter \
124 --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:hunter
125 - stage: build functest-kubernetes-benchmarking image
126 script: bash build.sh
128 - REPO="${DOCKER_USERNAME}"
129 - amd64_dirs="docker/benchmarking"
132 - stage: publish functest-kubernetes-benchmarking manifests
134 manifest-tool push from-args \
135 --platforms linux/amd64 \
137 ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-hunter \
138 --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:hunter