doc: consolidate VFIO content on Linux drivers page
[dpdk.git] / .travis.yml
1 # default values for all jobs
2 language: c
3 cache:
4   ccache: true
5   directories:
6     - libabigail
7     - reference
8
9 dist: bionic
10
11 os: linux
12
13 addons:
14   apt:
15     update: true
16     packages: &required_packages
17       - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, python3-pyelftools, ninja-build]
18       - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
19       - [libarchive-dev]
20
21 _aarch64_packages: &aarch64_packages
22   - *required_packages
23   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
24
25 _aarch64_clang_packages: &aarch64_clang_packages
26   - *required_packages
27   - [libgcc-7-dev-arm64-cross, libatomic1-arm64-cross, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
28
29 _libabigail_build_packages: &libabigail_build_packages
30   - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
31
32 _build_32b_packages: &build_32b_packages
33   - *required_packages
34   - [gcc-multilib]
35
36 _doc_packages: &doc_packages
37   - [doxygen, graphviz, python3-sphinx]
38
39 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
40 script: ./.ci/${TRAVIS_OS_NAME}-build.sh
41
42 env:
43   global:
44     - LIBABIGAIL_VERSION=libabigail-1.8
45     - REF_GIT_TAG=v21.11
46
47 jobs:
48   include:
49   # x86_64 gcc jobs
50   - env: DEF_LIB="static"
51     arch: amd64
52     compiler: gcc
53   - env: DEF_LIB="shared" RUN_TESTS=true
54     arch: amd64
55     compiler: gcc
56   - env: DEF_LIB="shared" BUILD_DOCS=true
57     arch: amd64
58     compiler: gcc
59     addons:
60       apt:
61         packages:
62           - *required_packages
63           - *doc_packages
64   - env: DEF_LIB="shared" ABI_CHECKS=true
65     arch: amd64
66     compiler: gcc
67     addons:
68       apt:
69         packages:
70           - *required_packages
71           - *libabigail_build_packages
72   # x86_64 clang jobs
73   - env: DEF_LIB="static"
74     arch: amd64
75     compiler: clang
76   - env: DEF_LIB="shared" RUN_TESTS=true
77     arch: amd64
78     compiler: clang
79   - env: DEF_LIB="shared" BUILD_DOCS=true
80     arch: amd64
81     compiler: clang
82     addons:
83       apt:
84         packages:
85           - *required_packages
86           - *doc_packages
87   # x86_64 cross-compiling 32-bits jobs
88   - env: DEF_LIB="static" BUILD_32BIT=true
89     arch: amd64
90     compiler: gcc
91     addons:
92       apt:
93         packages:
94           - *build_32b_packages
95   # x86_64 cross-compiling aarch64 jobs
96   - env: DEF_LIB="static" AARCH64=true
97     arch: amd64
98     compiler: gcc
99     addons:
100       apt:
101         packages:
102           - *aarch64_packages
103   - env: DEF_LIB="shared" AARCH64=true
104     arch: amd64
105     compiler: gcc
106     addons:
107       apt:
108         packages:
109           - *aarch64_packages
110   - env: DEF_LIB="static" AARCH64=true
111     arch: amd64
112     compiler: clang
113     addons:
114       apt:
115         packages:
116           - *aarch64_clang_packages
117   - env: DEF_LIB="shared" AARCH64=true
118     arch: amd64
119     compiler: clang
120     addons:
121       apt:
122         packages:
123           - *aarch64_clang_packages
124   # aarch64 gcc jobs
125   - env: DEF_LIB="static"
126     dist: focal
127     arch: arm64-graviton2
128     virt: vm
129     group: edge
130     compiler: gcc
131   - env: DEF_LIB="shared" RUN_TESTS=true
132     dist: focal
133     arch: arm64-graviton2
134     virt: vm
135     group: edge
136     compiler: gcc
137   - env: DEF_LIB="shared" BUILD_DOCS=true
138     dist: focal
139     arch: arm64-graviton2
140     virt: vm
141     group: edge
142     compiler: gcc
143     addons:
144       apt:
145         packages:
146           - *required_packages
147           - *doc_packages
148   - env: DEF_LIB="shared" ABI_CHECKS=true
149     dist: focal
150     arch: arm64-graviton2
151     virt: vm
152     group: edge
153     compiler: gcc
154     addons:
155       apt:
156         packages:
157           - *required_packages
158           - *libabigail_build_packages
159   # aarch64 clang jobs
160   - env: DEF_LIB="static"
161     dist: focal
162     arch: arm64-graviton2
163     virt: vm
164     group: edge
165     compiler: clang
166   - env: DEF_LIB="shared" RUN_TESTS=true
167     dist: focal
168     arch: arm64-graviton2
169     virt: vm
170     group: edge
171     compiler: clang