Increase verify venv list in travis-ci
[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 qemu-user-static
13   - sudo add-apt-repository -y ppa:deadsnakes/ppa
14   - sudo apt-get update
15   - sudo apt-get install python3.7 python3.7-dev
16   - sudo pip install tox
17   - sudo -E 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 && sudo -E make && sudo -E make install)
21
22 jobs:
23   include:
24     - stage: run unit tests
25       script: >
26         tox -e \
27           docs,pep8,pylint,yamllint,ansiblelint,bashate,bandit,py27,py37,cover
28     - stage: build functest-core images
29       script: sudo -E bash build.sh
30       env:
31         - REPO="${DOCKER_USERNAME}"
32         - amd64_dirs="docker/core"
33         - arm64_dirs=""
34         - arm_dirs=""
35     - script: sudo -E bash build.sh
36       env:
37         - REPO="${DOCKER_USERNAME}"
38         - amd64_dirs=""
39         - arm64_dirs="docker/core"
40         - arm_dirs=""
41     - script: sudo -E bash build.sh
42       env:
43         - REPO="${DOCKER_USERNAME}"
44         - amd64_dirs=""
45         - arm64_dirs=""
46         - arm_dirs="docker/core"
47     - stage: publish functest-core manifests
48       script: >
49         sudo manifest-tool push from-args \
50           --platforms linux/amd64,linux/arm,linux/arm64 \
51           --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
52           --target ${DOCKER_USERNAME}/functest-core:latest
53     - stage: build all functest images
54       script: sudo -E bash build.sh
55       env:
56         - REPO="${DOCKER_USERNAME}"
57         - amd64_dirs="docker/healthcheck"
58         - arm64_dirs=""
59         - arm_dirs=""
60     - script: sudo -E bash build.sh
61       env:
62         - REPO="${DOCKER_USERNAME}"
63         - amd64_dirs=""
64         - arm64_dirs="docker/healthcheck"
65         - arm_dirs=""
66     - script: sudo -E bash build.sh
67       env:
68         - REPO="${DOCKER_USERNAME}"
69         - amd64_dirs=""
70         - arm64_dirs=""
71         - arm_dirs="docker/healthcheck"
72     - script: sudo -E bash build.sh
73       env:
74         - REPO="${DOCKER_USERNAME}"
75         - amd64_dirs="docker/smoke"
76         - arm64_dirs=""
77         - arm_dirs=""
78     - script: sudo -E bash build.sh
79       env:
80         - REPO="${DOCKER_USERNAME}"
81         - amd64_dirs=""
82         - arm64_dirs="docker/smoke"
83         - arm_dirs=""
84     - script: sudo -E bash build.sh
85       env:
86         - REPO="${DOCKER_USERNAME}"
87         - amd64_dirs=""
88         - arm64_dirs=""
89         - arm_dirs="docker/smoke"
90     - script: sudo -E bash build.sh
91       env:
92         - REPO="${DOCKER_USERNAME}"
93         - amd64_dirs="docker/benchmarking"
94         - arm64_dirs=""
95         - arm_dirs=""
96     - script: sudo -E bash build.sh
97       env:
98         - REPO="${DOCKER_USERNAME}"
99         - amd64_dirs=""
100         - arm64_dirs="docker/benchmarking"
101         - arm_dirs=""
102     - script: sudo -E bash build.sh
103       env:
104         - REPO="${DOCKER_USERNAME}"
105         - amd64_dirs=""
106         - arm64_dirs=""
107         - arm_dirs="docker/benchmarking"
108     - script: sudo -E bash build.sh
109       env:
110         - REPO="${DOCKER_USERNAME}"
111         - amd64_dirs="docker/features"
112         - arm64_dirs=""
113         - arm_dirs=""
114     - script: sudo -E bash build.sh
115       env:
116         - REPO="${DOCKER_USERNAME}"
117         - amd64_dirs=""
118         - arm64_dirs="docker/features"
119         - arm_dirs=""
120     - script: sudo -E bash build.sh
121       env:
122         - REPO="${DOCKER_USERNAME}"
123         - amd64_dirs=""
124         - arm64_dirs=""
125         - arm_dirs="docker/features"
126     - script: sudo -E bash build.sh
127       env:
128         - REPO="${DOCKER_USERNAME}"
129         - amd64_dirs="docker/vnf"
130         - arm64_dirs=""
131         - arm_dirs=""
132     - script: sudo -E bash build.sh
133       env:
134         - REPO="${DOCKER_USERNAME}"
135         - amd64_dirs=""
136         - arm64_dirs="docker/vnf"
137         - arm_dirs=""
138     - script: sudo -E bash build.sh
139       env:
140         - REPO="${DOCKER_USERNAME}"
141         - amd64_dirs=""
142         - arm64_dirs=""
143         - arm_dirs="docker/vnf"
144     - stage: publish all manifests
145       script: >
146         sudo manifest-tool push from-args \
147           --platforms linux/amd64,linux/arm,linux/arm64 \
148           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
149           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
150     - script: >
151         sudo manifest-tool push from-args \
152           --platforms linux/amd64,linux/arm,linux/arm64 \
153           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
154           --target ${DOCKER_USERNAME}/functest-smoke:latest
155     - script: >
156         sudo manifest-tool push from-args \
157           --platforms linux/amd64,linux/arm,linux/arm64 \
158           --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
159           --target ${DOCKER_USERNAME}/functest-benchmarking:latest
160     - script: >
161         sudo manifest-tool push from-args \
162           --platforms linux/amd64,linux/arm,linux/arm64 \
163           --template ${DOCKER_USERNAME}/functest-features:ARCH-latest \
164           --target ${DOCKER_USERNAME}/functest-features:latest
165     - script: >
166         sudo manifest-tool push from-args \
167           --platforms linux/amd64,linux/arm,linux/arm64 \
168           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
169           --target ${DOCKER_USERNAME}/functest-vnf:latest