Downgrade to setuptools_scm===5.0.1
[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-iruya \
53           --target ${DOCKER_USERNAME}/functest-core:iruya
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-iruya \
78           --target ${DOCKER_USERNAME}/functest-tempest:iruya
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/vnf"
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/vnf"
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/vnf"
152     - stage: publish all manifests
153       script: >
154         sudo manifest-tool push from-args \
155           --platforms linux/amd64,linux/arm,linux/arm64 \
156           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-iruya \
157           --target ${DOCKER_USERNAME}/functest-healthcheck:iruya
158     - script: >
159         sudo manifest-tool push from-args \
160           --platforms linux/amd64,linux/arm,linux/arm64 \
161           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-iruya \
162           --target ${DOCKER_USERNAME}/functest-smoke:iruya
163     - script: >
164         sudo manifest-tool push from-args \
165           --platforms linux/amd64,linux/arm,linux/arm64 \
166           --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-iruya \
167           --target ${DOCKER_USERNAME}/functest-benchmarking:iruya
168     - script: >
169         sudo manifest-tool push from-args \
170           --platforms linux/amd64,linux/arm,linux/arm64 \
171           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-iruya \
172           --target ${DOCKER_USERNAME}/functest-vnf:iruya
173     - stage: build all functest cntt images
174       script: sudo -E bash build.sh
175       env:
176         - REPO="${DOCKER_USERNAME}"
177         - amd64_dirs="docker/smoke-cntt"
178         - arm64_dirs=""
179         - arm_dirs=""
180     - script: sudo -E bash build.sh
181       env:
182         - REPO="${DOCKER_USERNAME}"
183         - amd64_dirs=""
184         - arm64_dirs="docker/smoke-cntt"
185         - arm_dirs=""
186     - script: sudo -E bash build.sh
187       env:
188         - REPO="${DOCKER_USERNAME}"
189         - amd64_dirs=""
190         - arm64_dirs=""
191         - arm_dirs="docker/smoke-cntt"
192     - script: sudo -E bash build.sh
193       env:
194         - REPO="${DOCKER_USERNAME}"
195         - amd64_dirs="docker/benchmarking-cntt"
196         - arm64_dirs=""
197         - arm_dirs=""
198     - script: sudo -E bash build.sh
199       env:
200         - REPO="${DOCKER_USERNAME}"
201         - amd64_dirs=""
202         - arm64_dirs="docker/benchmarking-cntt"
203         - arm_dirs=""
204     - script: sudo -E bash build.sh
205       env:
206         - REPO="${DOCKER_USERNAME}"
207         - amd64_dirs=""
208         - arm64_dirs=""
209         - arm_dirs="docker/benchmarking-cntt"
210     - stage: publish all cntt manifests
211       script: >
212         sudo manifest-tool push from-args \
213           --platforms linux/amd64,linux/arm,linux/arm64 \
214           --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-iruya \
215           --target ${DOCKER_USERNAME}/functest-smoke-cntt:iruya
216     - script: >
217         sudo manifest-tool push from-args \
218           --platforms linux/amd64,linux/arm,linux/arm64 \
219           --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-iruya \
220           --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:iruya