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