Update Keystone tempest plugin to 0.2.0
[functest.git] / .travis.yml
1 ---
2 sudo: required
3 services: docker
4 language: generic
5 dist: xenial
6 addons:
7   apt:
8     packages:
9       - libssl1.0.0
10
11 before_script:
12   - sudo apt-get -y install enchant
13   - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
14   - sudo add-apt-repository -y ppa:deadsnakes/ppa
15   - sudo apt-get update
16   - sudo apt-get install python3.6 python3.6-dev
17   - sudo pip install tox tox-pip-version
18   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
19   - (cd .. && git clone https://github.com/estesp/manifest-tool)
20   - (cd ../manifest-tool && git checkout v0.9.0)
21   - (cd ../manifest-tool && sudo -E make && sudo -E make install)
22
23 jobs:
24   include:
25     - stage: run unit tests
26       script: >
27         tox -e \
28           docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,py36,cover
29     - stage: build functest-core images
30       script: sudo -E bash build.sh
31       env:
32         - REPO="${DOCKER_USERNAME}"
33         - amd64_dirs="docker/core"
34         - arm64_dirs=""
35         - arm_dirs=""
36     - script: sudo -E bash build.sh
37       env:
38         - REPO="${DOCKER_USERNAME}"
39         - amd64_dirs=""
40         - arm64_dirs="docker/core"
41         - arm_dirs=""
42     - script: sudo -E bash build.sh
43       env:
44         - REPO="${DOCKER_USERNAME}"
45         - amd64_dirs=""
46         - arm64_dirs=""
47         - arm_dirs="docker/core"
48     - stage: publish functest-core manifests
49       script: >
50         sudo manifest-tool push from-args \
51           --platforms linux/amd64,linux/arm,linux/arm64 \
52           --template ${DOCKER_USERNAME}/functest-core:ARCH-hunter \
53           --target ${DOCKER_USERNAME}/functest-core:hunter
54     - stage: build functest-tempest images
55       script: sudo -E bash build.sh
56       env:
57         - REPO="${DOCKER_USERNAME}"
58         - amd64_dirs="docker/tempest"
59         - arm64_dirs=""
60         - arm_dirs=""
61     - script: sudo -E bash build.sh
62       env:
63         - REPO="${DOCKER_USERNAME}"
64         - amd64_dirs=""
65         - arm64_dirs="docker/tempest"
66         - arm_dirs=""
67     - script: sudo -E bash build.sh
68       env:
69         - REPO="${DOCKER_USERNAME}"
70         - amd64_dirs=""
71         - arm64_dirs=""
72         - arm_dirs="docker/tempest"
73     - stage: publish functest-tempest manifests
74       script: >
75         sudo manifest-tool push from-args \
76           --platforms linux/amd64,linux/arm,linux/arm64 \
77           --template ${DOCKER_USERNAME}/functest-tempest:ARCH-hunter \
78           --target ${DOCKER_USERNAME}/functest-tempest:hunter
79     - stage: build all functest images
80       script: sudo -E bash build.sh
81       env:
82         - REPO="${DOCKER_USERNAME}"
83         - amd64_dirs="docker/healthcheck"
84         - arm64_dirs=""
85         - arm_dirs=""
86     - script: sudo -E bash build.sh
87       env:
88         - REPO="${DOCKER_USERNAME}"
89         - amd64_dirs=""
90         - arm64_dirs="docker/healthcheck"
91         - arm_dirs=""
92     - script: sudo -E bash build.sh
93       env:
94         - REPO="${DOCKER_USERNAME}"
95         - amd64_dirs=""
96         - arm64_dirs=""
97         - arm_dirs="docker/healthcheck"
98     - script: sudo -E bash build.sh
99       env:
100         - REPO="${DOCKER_USERNAME}"
101         - amd64_dirs="docker/smoke"
102         - arm64_dirs=""
103         - arm_dirs=""
104     - script: sudo -E bash build.sh
105       env:
106         - REPO="${DOCKER_USERNAME}"
107         - amd64_dirs=""
108         - arm64_dirs="docker/smoke"
109         - arm_dirs=""
110     - script: sudo -E bash build.sh
111       env:
112         - REPO="${DOCKER_USERNAME}"
113         - amd64_dirs=""
114         - arm64_dirs=""
115         - arm_dirs="docker/smoke"
116     - script: sudo -E bash build.sh
117       env:
118         - REPO="${DOCKER_USERNAME}"
119         - amd64_dirs="docker/benchmarking"
120         - arm64_dirs=""
121         - arm_dirs=""
122     - script: sudo -E bash build.sh
123       env:
124         - REPO="${DOCKER_USERNAME}"
125         - amd64_dirs=""
126         - arm64_dirs="docker/benchmarking"
127         - arm_dirs=""
128     - script: sudo -E bash build.sh
129       env:
130         - REPO="${DOCKER_USERNAME}"
131         - amd64_dirs=""
132         - arm64_dirs=""
133         - arm_dirs="docker/benchmarking"
134     - script: sudo -E bash build.sh
135       env:
136         - REPO="${DOCKER_USERNAME}"
137         - amd64_dirs="docker/features"
138         - arm64_dirs=""
139         - arm_dirs=""
140     - script: sudo -E bash build.sh
141       env:
142         - REPO="${DOCKER_USERNAME}"
143         - amd64_dirs=""
144         - arm64_dirs="docker/features"
145         - arm_dirs=""
146     - script: sudo -E bash build.sh
147       env:
148         - REPO="${DOCKER_USERNAME}"
149         - amd64_dirs=""
150         - arm64_dirs=""
151         - arm_dirs="docker/features"
152     - script: sudo -E bash build.sh
153       env:
154         - REPO="${DOCKER_USERNAME}"
155         - amd64_dirs="docker/vnf"
156         - arm64_dirs=""
157         - arm_dirs=""
158     - script: sudo -E bash build.sh
159       env:
160         - REPO="${DOCKER_USERNAME}"
161         - amd64_dirs=""
162         - arm64_dirs="docker/vnf"
163         - arm_dirs=""
164     - script: sudo -E bash build.sh
165       env:
166         - REPO="${DOCKER_USERNAME}"
167         - amd64_dirs=""
168         - arm64_dirs=""
169         - arm_dirs="docker/vnf"
170     - stage: publish all manifests
171       script: >
172         sudo manifest-tool push from-args \
173           --platforms linux/amd64,linux/arm,linux/arm64 \
174           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-hunter \
175           --target ${DOCKER_USERNAME}/functest-healthcheck:hunter
176     - script: >
177         sudo manifest-tool push from-args \
178           --platforms linux/amd64,linux/arm,linux/arm64 \
179           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-hunter \
180           --target ${DOCKER_USERNAME}/functest-smoke:hunter
181     - script: >
182         sudo manifest-tool push from-args \
183           --platforms linux/amd64,linux/arm,linux/arm64 \
184           --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-hunter \
185           --target ${DOCKER_USERNAME}/functest-benchmarking:hunter
186     - script: >
187         sudo manifest-tool push from-args \
188           --platforms linux/amd64,linux/arm,linux/arm64 \
189           --template ${DOCKER_USERNAME}/functest-features:ARCH-hunter \
190           --target ${DOCKER_USERNAME}/functest-features:hunter
191     - script: >
192         sudo manifest-tool push from-args \
193           --platforms linux/amd64,linux/arm,linux/arm64 \
194           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-hunter \
195           --target ${DOCKER_USERNAME}/functest-vnf:hunter
196     - stage: build all functest cntt images
197       script: sudo -E bash build.sh
198       env:
199         - REPO="${DOCKER_USERNAME}"
200         - amd64_dirs="docker/smoke-cntt"
201         - arm64_dirs=""
202         - arm_dirs=""
203     - script: sudo -E bash build.sh
204       env:
205         - REPO="${DOCKER_USERNAME}"
206         - amd64_dirs=""
207         - arm64_dirs="docker/smoke-cntt"
208         - arm_dirs=""
209     - script: sudo -E bash build.sh
210       env:
211         - REPO="${DOCKER_USERNAME}"
212         - amd64_dirs=""
213         - arm64_dirs=""
214         - arm_dirs="docker/smoke-cntt"
215     - script: sudo -E bash build.sh
216       env:
217         - REPO="${DOCKER_USERNAME}"
218         - amd64_dirs="docker/benchmarking-cntt"
219         - arm64_dirs=""
220         - arm_dirs=""
221     - script: sudo -E bash build.sh
222       env:
223         - REPO="${DOCKER_USERNAME}"
224         - amd64_dirs=""
225         - arm64_dirs="docker/benchmarking-cntt"
226         - arm_dirs=""
227     - script: sudo -E bash build.sh
228       env:
229         - REPO="${DOCKER_USERNAME}"
230         - amd64_dirs=""
231         - arm64_dirs=""
232         - arm_dirs="docker/benchmarking-cntt"
233     - stage: publish all cntt manifests
234       script: >
235         sudo manifest-tool push from-args \
236           --platforms linux/amd64,linux/arm,linux/arm64 \
237           --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-hunter \
238           --target ${DOCKER_USERNAME}/functest-smoke-cntt:hunter
239     - script: >
240         sudo manifest-tool push from-args \
241           --platforms linux/amd64,linux/arm,linux/arm64 \
242           --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-hunter \
243           --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:hunter