Switch to focal in travis-ci gates
[functest-kubernetes.git] / .travis.yml
1 ---
2 sudo: required
3 language: generic
4 services: docker
5 dist: focal
6
7 before_script:
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)
14
15 jobs:
16   include:
17     - stage: run unit tests
18       script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py38,bandit
19     - stage: build functest-kubernetes-core images
20       script: bash build.sh
21       env:
22         - REPO="${DOCKER_USERNAME}"
23         - amd64_dirs="docker/core"
24         - arm_dirs=""
25         - arm64_dirs=""
26     - script: bash build.sh
27       env:
28         - REPO="${DOCKER_USERNAME}"
29         - amd64_dirs=""
30         - arm_dirs="docker/core"
31         - arm64_dirs=""
32     - script: bash build.sh
33       env:
34         - REPO="${DOCKER_USERNAME}"
35         - amd64_dirs=""
36         - arm_dirs=""
37         - arm64_dirs="docker/core"
38     - stage: publish functest-kubernetes-core manifests
39       script: >
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
45       script: bash build.sh
46       env:
47         - REPO="${DOCKER_USERNAME}"
48         - amd64_dirs="docker/healthcheck"
49         - arm_dirs=""
50         - arm64_dirs=""
51     - script: bash build.sh
52       env:
53         - REPO="${DOCKER_USERNAME}"
54         - amd64_dirs=""
55         - arm_dirs="docker/healthcheck"
56         - arm64_dirs=""
57     - script: bash build.sh
58       env:
59         - REPO="${DOCKER_USERNAME}"
60         - amd64_dirs=""
61         - arm_dirs=""
62         - arm64_dirs="docker/healthcheck"
63     - script: bash build.sh
64       env:
65         - REPO="${DOCKER_USERNAME}"
66         - amd64_dirs="docker/cnf"
67         - arm_dirs=""
68         - arm64_dirs=""
69     - script: bash build.sh
70       env:
71         - REPO="${DOCKER_USERNAME}"
72         - amd64_dirs=""
73         - arm_dirs="docker/cnf"
74         - arm64_dirs=""
75     - script: bash build.sh
76       env:
77         - REPO="${DOCKER_USERNAME}"
78         - amd64_dirs=""
79         - arm_dirs=""
80         - arm64_dirs="docker/cnf"
81     - script: bash build.sh
82       env:
83         - REPO="${DOCKER_USERNAME}"
84         - amd64_dirs="docker/security"
85         - arm_dirs=""
86         - arm64_dirs=""
87     - script: bash build.sh
88       env:
89         - REPO="${DOCKER_USERNAME}"
90         - amd64_dirs=""
91         - arm_dirs="docker/security"
92         - arm64_dirs=""
93     - script: bash build.sh
94       env:
95         - REPO="${DOCKER_USERNAME}"
96         - amd64_dirs=""
97         - arm_dirs=""
98         - arm64_dirs="docker/security"
99     - stage: publish functest-kubernetes-[healthcheck,cnf,security] manifests
100       script: >
101         manifest-tool push from-args \
102           --platforms linux/amd64,linux/arm,linux/arm64 \
103           --template \
104           ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \
105           --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest
106     - script: >
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
111     - script: >
112         manifest-tool push from-args \
113           --platforms linux/amd64,linux/arm,linux/arm64 \
114           --template \
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
119       env:
120         - REPO="${DOCKER_USERNAME}"
121         - amd64_dirs="docker/smoke"
122         - arm_dirs=""
123         - arm64_dirs=""
124     - script: bash build.sh
125       env:
126         - REPO="${DOCKER_USERNAME}"
127         - amd64_dirs=""
128         - arm_dirs="docker/smoke"
129         - arm64_dirs=""
130     - script: bash build.sh
131       env:
132         - REPO="${DOCKER_USERNAME}"
133         - amd64_dirs=""
134         - arm_dirs=""
135         - arm64_dirs="docker/smoke"
136     - stage: publish functest-kubernetes-smoke manifests
137       script: >
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
144       env:
145         - REPO="${DOCKER_USERNAME}"
146         - amd64_dirs="docker/benchmarking"
147         - arm_dirs=""
148         - arm64_dirs=""
149     - script: bash build.sh
150       env:
151         - REPO="${DOCKER_USERNAME}"
152         - amd64_dirs=""
153         - arm_dirs="docker/benchmarking"
154         - arm64_dirs=""
155     - script: bash build.sh
156       env:
157         - REPO="${DOCKER_USERNAME}"
158         - amd64_dirs=""
159         - arm_dirs=""
160         - arm64_dirs="docker/benchmarking"
161     - stage: publish functest-kubernetes-benchmarking manifests
162       script: >
163         manifest-tool push from-args \
164           --platforms linux/amd64,linux/arm,linux/arm64 \
165           --template \
166         ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:ARCH-latest \
167           --target ${DOCKER_USERNAME}/functest-kubernetes-benchmarking:latest