Run tox in .travis-ci
[functest-kubernetes.git] / .travis.yml
1 ---
2 sudo: required
3 language: generic
4 services: docker
5 dist: xenial
6 addons:
7   apt:
8     packages:
9       - libssl1.0.0
10
11 before_script:
12   - sudo add-apt-repository -y ppa:jonathonf/python-3.6
13   - sudo apt-get update
14   - sudo apt-get install python3.6 python3.6-dev
15   - sudo pip install tox
16   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
17   - (cd .. && git clone https://github.com/estesp/manifest-tool)
18   - (cd ../manifest-tool && git checkout v0.9.0)
19   - (cd ../manifest-tool && sudo -E make && sudo -E make install)
20
21 jobs:
22   include:
23     - stage: run unit tests
24       script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py27,py36
25     - stage: build functest-kubernetes-core image
26       script: sudo -E bash build.sh
27       env:
28         - REPO="${DOCKER_USERNAME}"
29         - amd64_dirs="docker/core"
30         - arm64_dirs=""
31     - stage: publish functest-kubernetes-core manifests
32       script: >
33         sudo manifest-tool push from-args \
34           --platforms linux/amd64 \
35           --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-iruya \
36           --target ${DOCKER_USERNAME}/functest-kubernetes-core:iruya
37     - stage: build functest-kubernetes-[healthcheck,features] image
38       script: sudo -E bash build.sh
39       env:
40         - REPO="${DOCKER_USERNAME}"
41         - amd64_dirs="docker/healthcheck"
42         - arm64_dirs=""
43     - script: sudo -E bash build.sh
44       env:
45         - REPO="${DOCKER_USERNAME}"
46         - amd64_dirs="docker/features"
47         - arm64_dirs=""
48     - stage: publish functest-kubernetes-[healthcheck,features] manifests
49       script: >
50         sudo manifest-tool push from-args \
51           --platforms linux/amd64 \
52           --template \
53           ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-iruya \
54           --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:iruya
55     - script: >
56         sudo manifest-tool push from-args \
57           --platforms linux/amd64 \
58           --template \
59           ${DOCKER_USERNAME}/functest-kubernetes-features:ARCH-iruya \
60           --target ${DOCKER_USERNAME}/functest-kubernetes-features:iruya
61     - stage: build functest-kubernetes-smoke image
62       script: sudo -E bash build.sh
63       env:
64         - REPO="${DOCKER_USERNAME}"
65         - amd64_dirs="docker/smoke"
66         - arm64_dirs=""
67     - stage: publish functest-kubernetes-smoke manifests
68       script: >
69         sudo manifest-tool push from-args \
70           --platforms linux/amd64 \
71           --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-iruya \
72           --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:iruya