Merge changes I11fdef41,I2b6cf113
[functest.git] / .travis.yml
1 sudo: required
2 language: bash
3 services: docker
4 language: generic
5
6 before_script:
7   - sudo apt-get -y install qemu-user-static
8   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
9   - (cd .. && git clone https://github.com/estesp/manifest-tool)
10   - (cd ../manifest-tool && sudo -E make && sudo -E make install)
11
12 jobs:
13   include:
14     - stage: build functest-core images
15       script: sudo -E bash build.sh
16       env:
17         - repo="${DOCKER_USERNAME}"
18         - x86_64_dirs=""
19         - aarch64_dirs="docker/core"
20     - script: sudo -E bash build.sh
21       env:
22         - repo="${DOCKER_USERNAME}"
23         - x86_64_dirs="docker/core"
24         - aarch64_dirs=""
25     - stage: publish functest-core manifests
26       script: >
27         sudo manifest-tool push from-args \
28           --platforms linux/amd64,linux/arm64 \
29           --template ${DOCKER_USERNAME}/functest-core:x86_64-latest \
30           --template ${DOCKER_USERNAME}/functest-core:aarch64-latest \
31           --target ${DOCKER_USERNAME}/functest-core:latest
32     - stage: build all functest images
33       script: sudo -E bash build.sh
34       env:
35         - repo="${DOCKER_USERNAME}"
36         - x86_64_dirs=""
37         - aarch64_dirs="docker/healthcheck"
38     - script: sudo -E bash build.sh
39       env:
40         - repo="${DOCKER_USERNAME}"
41         - x86_64_dirs=""
42         - aarch64_dirs="docker/smoke"
43     - script: sudo -E bash build.sh
44       env:
45         - repo="${DOCKER_USERNAME}"
46         - x86_64_dirs=""
47         - aarch64_dirs="docker/features"
48     - script: sudo -E bash build.sh
49       env:
50         - repo="${DOCKER_USERNAME}"
51         - x86_64_dirs=""
52         - aarch64_dirs="docker/components"
53     - script: sudo -E bash build.sh
54       env:
55         - repo="${DOCKER_USERNAME}"
56         - x86_64_dirs="docker/healthcheck"
57         - aarch64_dirs=""
58     - script: sudo -E bash build.sh
59       env:
60         - repo="${DOCKER_USERNAME}"
61         - x86_64_dirs="docker/smoke"
62         - aarch64_dirs=""
63     - script: sudo -E bash build.sh
64       env:
65         - repo="${DOCKER_USERNAME}"
66         - x86_64_dirs="docker/features"
67         - aarch64_dirs=""
68     - script: sudo -E bash build.sh
69       env:
70         - repo="${DOCKER_USERNAME}"
71         - x86_64_dirs="docker/components"
72         - aarch64_dirs=""
73     - script: sudo -E bash build.sh
74       env:
75         - repo="${DOCKER_USERNAME}"
76         - x86_64_dirs="docker/vnf"
77         - aarch64_dirs=""
78     - script: sudo -E bash build.sh
79       env:
80         - repo="${DOCKER_USERNAME}"
81         - x86_64_dirs="docker/restapi"
82         - aarch64_dirs=""
83     - script: sudo -E bash build.sh
84       env:
85         - repo="${DOCKER_USERNAME}"
86         - x86_64_dirs="docker/parser"
87         - aarch64_dirs=""
88     - stage: publish all manifests
89       script: >
90         sudo manifest-tool push from-args \
91           --platforms linux/amd64,linux/arm64 \
92           --template ${DOCKER_USERNAME}/functest-healthcheck:x86_64-latest \
93           --template ${DOCKER_USERNAME}/functest-healthcheck:aarch64-latest \
94           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
95     - script: >
96         sudo manifest-tool push from-args \
97           --platforms linux/amd64,linux/arm64 \
98           --template ${DOCKER_USERNAME}/functest-healthcheck:x86_64-latest \
99           --template ${DOCKER_USERNAME}/functest-healthcheck:aarch64-latest \
100           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
101     - script: >
102         sudo manifest-tool push from-args \
103           --platforms linux/amd64,linux/arm64 \
104           --template ${DOCKER_USERNAME}/functest-smoke:x86_64-latest \
105           --template ${DOCKER_USERNAME}/functest-smoke:aarch64-latest \
106           --target ${DOCKER_USERNAME}/functest-smoke:latest
107     - script: >
108         sudo manifest-tool push from-args \
109           --platforms linux/amd64,linux/arm64 \
110           --template ${DOCKER_USERNAME}/functest-features:x86_64-latest \
111           --template ${DOCKER_USERNAME}/functest-features:aarch64-latest \
112           --target ${DOCKER_USERNAME}/functest-features:latest
113     - script: >
114         sudo manifest-tool push from-args \
115           --platforms linux/amd64,linux/arm64 \
116           --template ${DOCKER_USERNAME}/functest-components:x86_64-latest \
117           --template ${DOCKER_USERNAME}/functest-components:aarch64-latest \
118           --target ${DOCKER_USERNAME}/functest-components:latest
119     - script: >
120         sudo manifest-tool push from-args \
121           --platforms linux/amd64 \
122           --template ${DOCKER_USERNAME}/functest-vnf:x86_64-latest \
123           --target ${DOCKER_USERNAME}/functest-vnf:latest
124     - script: >
125         sudo manifest-tool push from-args \
126           --platforms linux/amd64 \
127           --template ${DOCKER_USERNAME}/functest-restapi:x86_64-latest \
128           --target ${DOCKER_USERNAME}/functest-restapi:latest
129     - script: >
130         sudo manifest-tool push from-args \
131           --platforms linux/amd64 \
132           --template ${DOCKER_USERNAME}/functest-parser:x86_64-latest \
133           --target ${DOCKER_USERNAME}/functest-parser:latest