Update Xtesting to 0.98
[functest.git] / .travis.yml
1 ---
2 sudo: required
3 services: docker
4 language: generic
5 dist: focal
6
7 before_script:
8   - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
9   - sudo pip install tox tox-pip-version
10   - sudo apt-get update && sudo apt-get install -y enchant
11   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
12   - (cd .. && git clone https://github.com/estesp/manifest-tool)
13   - (cd ../manifest-tool && git checkout v0.9.0)
14   - (cd ../manifest-tool && sudo -E make && sudo -E make install)
15
16 jobs:
17   include:
18     - stage: run unit tests
19       script: >
20         tox -e \
21           docs,pep8,pylint,yamllint,bashate,bandit,py38,cover
22     - stage: build functest-core images
23       script: sudo -E sh build.sh
24       env:
25         - REPO="${DOCKER_USERNAME}"
26         - amd64_dirs="docker/core"
27         - arm64_dirs=""
28         - arm_dirs=""
29     - script: sudo -E sh build.sh
30       env:
31         - REPO="${DOCKER_USERNAME}"
32         - amd64_dirs=""
33         - arm64_dirs="docker/core"
34         - arm_dirs=""
35     - script: sudo -E sh build.sh
36       env:
37         - REPO="${DOCKER_USERNAME}"
38         - amd64_dirs=""
39         - arm64_dirs=""
40         - arm_dirs="docker/core"
41     - stage: publish functest-core manifests
42       script: >
43         sudo manifest-tool push from-args \
44           --platforms linux/amd64,linux/arm,linux/arm64 \
45           --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
46           --target ${DOCKER_USERNAME}/functest-core:latest
47     - stage: build all functest images
48       script: sudo -E sh build.sh
49       env:
50         - REPO="${DOCKER_USERNAME}"
51         - amd64_dirs="docker/healthcheck"
52         - arm64_dirs=""
53         - arm_dirs=""
54     - script: sudo -E sh build.sh
55       env:
56         - REPO="${DOCKER_USERNAME}"
57         - amd64_dirs=""
58         - arm64_dirs="docker/healthcheck"
59         - arm_dirs=""
60     - script: sudo -E sh build.sh
61       env:
62         - REPO="${DOCKER_USERNAME}"
63         - amd64_dirs=""
64         - arm64_dirs=""
65         - arm_dirs="docker/healthcheck"
66     - script: sudo -E sh build.sh
67       env:
68         - REPO="${DOCKER_USERNAME}"
69         - amd64_dirs="docker/smoke"
70         - arm64_dirs=""
71         - arm_dirs=""
72     - script: sudo -E sh build.sh
73       env:
74         - REPO="${DOCKER_USERNAME}"
75         - amd64_dirs=""
76         - arm64_dirs="docker/smoke"
77         - arm_dirs=""
78     - script: sudo -E sh build.sh
79       env:
80         - REPO="${DOCKER_USERNAME}"
81         - amd64_dirs=""
82         - arm64_dirs=""
83         - arm_dirs="docker/smoke"
84     - script: sudo -E sh build.sh
85       env:
86         - REPO="${DOCKER_USERNAME}"
87         - amd64_dirs="docker/benchmarking"
88         - arm64_dirs=""
89         - arm_dirs=""
90     - script: sudo -E sh build.sh
91       env:
92         - REPO="${DOCKER_USERNAME}"
93         - amd64_dirs=""
94         - arm64_dirs="docker/benchmarking"
95         - arm_dirs=""
96     - script: sudo -E sh build.sh
97       env:
98         - REPO="${DOCKER_USERNAME}"
99         - amd64_dirs=""
100         - arm64_dirs=""
101         - arm_dirs="docker/benchmarking"
102     - script: sudo -E sh build.sh
103       env:
104         - REPO="${DOCKER_USERNAME}"
105         - amd64_dirs="docker/vnf"
106         - arm64_dirs=""
107         - arm_dirs=""
108     - script: sudo -E sh build.sh
109       env:
110         - REPO="${DOCKER_USERNAME}"
111         - amd64_dirs=""
112         - arm64_dirs="docker/vnf"
113         - arm_dirs=""
114     - script: sudo -E sh build.sh
115       env:
116         - REPO="${DOCKER_USERNAME}"
117         - amd64_dirs=""
118         - arm64_dirs=""
119         - arm_dirs="docker/vnf"
120     - stage: publish all manifests
121       script: >
122         sudo manifest-tool push from-args \
123           --platforms linux/amd64,linux/arm,linux/arm64 \
124           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
125           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
126     - script: >
127         sudo manifest-tool push from-args \
128           --platforms linux/amd64,linux/arm,linux/arm64 \
129           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
130           --target ${DOCKER_USERNAME}/functest-smoke:latest
131     - script: >
132         sudo manifest-tool push from-args \
133           --platforms linux/amd64,linux/arm,linux/arm64 \
134           --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
135           --target ${DOCKER_USERNAME}/functest-benchmarking:latest
136     - script: >
137         sudo manifest-tool push from-args \
138           --platforms linux/amd64,linux/arm,linux/arm64 \
139           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
140           --target ${DOCKER_USERNAME}/functest-vnf:latest
141     - stage: build all functest cntt images
142       script: sudo -E sh build.sh
143       env:
144         - REPO="${DOCKER_USERNAME}"
145         - amd64_dirs="docker/smoke-cntt"
146         - arm64_dirs=""
147         - arm_dirs=""
148     - script: sudo -E sh build.sh
149       env:
150         - REPO="${DOCKER_USERNAME}"
151         - amd64_dirs=""
152         - arm64_dirs="docker/smoke-cntt"
153         - arm_dirs=""
154     - script: sudo -E sh build.sh
155       env:
156         - REPO="${DOCKER_USERNAME}"
157         - amd64_dirs=""
158         - arm64_dirs=""
159         - arm_dirs="docker/smoke-cntt"
160     - script: sudo -E sh build.sh
161       env:
162         - REPO="${DOCKER_USERNAME}"
163         - amd64_dirs="docker/benchmarking-cntt"
164         - arm64_dirs=""
165         - arm_dirs=""
166     - script: sudo -E sh build.sh
167       env:
168         - REPO="${DOCKER_USERNAME}"
169         - amd64_dirs=""
170         - arm64_dirs="docker/benchmarking-cntt"
171         - arm_dirs=""
172     - script: sudo -E sh build.sh
173       env:
174         - REPO="${DOCKER_USERNAME}"
175         - amd64_dirs=""
176         - arm64_dirs=""
177         - arm_dirs="docker/benchmarking-cntt"
178     - stage: publish all cntt manifests
179       script: >
180         sudo manifest-tool push from-args \
181           --platforms linux/amd64,linux/arm,linux/arm64 \
182           --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-latest \
183           --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
184     - script: >
185         sudo manifest-tool push from-args \
186           --platforms linux/amd64,linux/arm,linux/arm64 \
187           --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
188           --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest