Update .travis.yml
[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 pip install tox
14   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
15   - (cd .. && git clone https://github.com/estesp/manifest-tool)
16   - (cd ../manifest-tool && git checkout v0.9.0)
17   - (cd ../manifest-tool && sudo -E make && sudo -E make install)
18
19 jobs:
20   include:
21     - stage: run unit tests
22       script: tox -e docs,pep8,pylint,yamllint,bashate,py27,cover
23     - stage: build functest-core images
24       script: sudo -E bash build.sh
25       env:
26         - REPO="${DOCKER_USERNAME}"
27         - amd64_dirs="docker/core"
28         - arm64_dirs=""
29     - stage: publish functest-core manifests
30       script: >
31         sudo manifest-tool push from-args \
32           --platforms linux/amd64 \
33           --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
34           --target ${DOCKER_USERNAME}/functest-core:latest
35     - stage: build functest-tempest images
36       script: sudo -E bash build.sh
37       env:
38         - REPO="${DOCKER_USERNAME}"
39         - amd64_dirs="docker/tempest"
40         - arm64_dirs=""
41     - stage: publish functest-tempest manifests
42       script: >
43         sudo manifest-tool push from-args \
44           --platforms linux/amd64 \
45           --template ${DOCKER_USERNAME}/functest-tempest:ARCH-latest \
46           --target ${DOCKER_USERNAME}/functest-tempest:latest
47     - stage: build all functest images
48       script: sudo -E bash build.sh
49       env:
50         - REPO="${DOCKER_USERNAME}"
51         - amd64_dirs="docker/healthcheck"
52         - arm64_dirs=""
53     - script: sudo -E bash build.sh
54       env:
55         - REPO="${DOCKER_USERNAME}"
56         - amd64_dirs="docker/smoke"
57         - arm64_dirs=""
58     - script: sudo -E bash build.sh
59       env:
60         - REPO="${DOCKER_USERNAME}"
61         - amd64_dirs="docker/benchmarking"
62         - arm64_dirs=""
63     - script: sudo -E bash build.sh
64       env:
65         - REPO="${DOCKER_USERNAME}"
66         - amd64_dirs="docker/features"
67         - arm64_dirs=""
68     - script: sudo -E bash build.sh
69       env:
70         - REPO="${DOCKER_USERNAME}"
71         - amd64_dirs="docker/vnf"
72         - arm64_dirs=""
73     - stage: publish all manifests
74       script: >
75         sudo manifest-tool push from-args \
76           --platforms linux/amd64 \
77           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
78           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
79     - script: >
80         sudo manifest-tool push from-args \
81           --platforms linux/amd64 \
82           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
83           --target ${DOCKER_USERNAME}/functest-smoke:latest
84     - script: >
85         sudo manifest-tool push from-args \
86           --platforms linux/amd64 \
87           --template ${DOCKER_USERNAME}/functest-features:ARCH-latest \
88           --target ${DOCKER_USERNAME}/functest-features:latest
89     - script: >
90         sudo manifest-tool push from-args \
91           --platforms linux/amd64 \
92           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
93           --target ${DOCKER_USERNAME}/functest-vnf:latest