Check spelling in rst files
[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 enchant
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/vnf"
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/vnf"
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/vnf"
126     - stage: publish all manifests
127       script: >
128         sudo manifest-tool push from-args \
129           --platforms linux/amd64,linux/arm,linux/arm64 \
130           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
131           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
132     - script: >
133         sudo manifest-tool push from-args \
134           --platforms linux/amd64,linux/arm,linux/arm64 \
135           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
136           --target ${DOCKER_USERNAME}/functest-smoke:latest
137     - script: >
138         sudo manifest-tool push from-args \
139           --platforms linux/amd64,linux/arm,linux/arm64 \
140           --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
141           --target ${DOCKER_USERNAME}/functest-benchmarking:latest
142     - script: >
143         sudo manifest-tool push from-args \
144           --platforms linux/amd64,linux/arm,linux/arm64 \
145           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
146           --target ${DOCKER_USERNAME}/functest-vnf:latest