test mbuf attach
[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, ninja-build]
18       - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
19
20 _aarch64_packages: &aarch64_packages
21   - *required_packages
22   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
23
24 _libabigail_build_packages: &libabigail_build_packages
25   - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
26
27 _build_32b_packages: &build_32b_packages
28   - *required_packages
29   - [gcc-multilib]
30
31 _doc_packages: &doc_packages
32   - [doxygen, graphviz, python3-sphinx]
33
34 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
35 script: ./.ci/${TRAVIS_OS_NAME}-build.sh
36
37 env:
38   global:
39     - REF_GIT_TAG=v20.05
40
41 jobs:
42   include:
43   # x86_64 gcc jobs
44   - env: DEF_LIB="static"
45     arch: amd64
46     compiler: gcc
47   - env: DEF_LIB="shared" RUN_TESTS=1
48     arch: amd64
49     compiler: gcc
50   - env: DEF_LIB="shared" BUILD_DOCS=1
51     arch: amd64
52     compiler: gcc
53     addons:
54       apt:
55         packages:
56           - *required_packages
57           - *doc_packages
58   - env: DEF_LIB="shared" ABI_CHECKS=1
59     arch: amd64
60     compiler: gcc
61     addons:
62       apt:
63         packages:
64           - *required_packages
65           - *libabigail_build_packages
66   # x86_64 clang jobs
67   - env: DEF_LIB="static"
68     arch: amd64
69     compiler: clang
70   - env: DEF_LIB="shared" RUN_TESTS=1
71     arch: amd64
72     compiler: clang
73   - env: DEF_LIB="shared" BUILD_DOCS=1
74     arch: amd64
75     compiler: clang
76     addons:
77       apt:
78         packages:
79           - *required_packages
80           - *doc_packages
81   # x86_64 cross-compiling 32-bits jobs
82   - env: DEF_LIB="static" BUILD_32BIT=1
83     arch: amd64
84     compiler: gcc
85     addons:
86       apt:
87         packages:
88           - *build_32b_packages
89   # x86_64 cross-compiling aarch64 jobs
90   - env: DEF_LIB="static" AARCH64=1
91     arch: amd64
92     compiler: gcc
93     addons:
94       apt:
95         packages:
96           - *aarch64_packages
97   - env: DEF_LIB="shared" AARCH64=1
98     arch: amd64
99     compiler: gcc
100     addons:
101       apt:
102         packages:
103           - *aarch64_packages
104   # aarch64 gcc jobs
105   - env: DEF_LIB="static"
106     arch: arm64
107     compiler: gcc
108   - env: DEF_LIB="shared" RUN_TESTS=1
109     arch: arm64
110     compiler: gcc
111   - env: DEF_LIB="shared" BUILD_DOCS=1
112     arch: arm64
113     compiler: gcc
114     addons:
115       apt:
116         packages:
117           - *required_packages
118           - *doc_packages
119   - env: DEF_LIB="shared" ABI_CHECKS=1
120     arch: arm64
121     compiler: gcc
122     addons:
123       apt:
124         packages:
125           - *required_packages
126           - *libabigail_build_packages
127   # aarch64 clang jobs
128   - env: DEF_LIB="static"
129     arch: arm64
130     compiler: clang
131   - env: DEF_LIB="shared" RUN_TESTS=1
132     arch: arm64
133     compiler: clang