ci: enable unit tests with Travis
[dpdk.git] / .travis.yml
1 language: c
2 cache: ccache
3 compiler:
4   - gcc
5   - clang
6
7 dist: xenial
8
9 os:
10   - linux
11
12 addons:
13   apt:
14     update: true
15     packages: &required_packages
16       - [libnuma-dev, linux-headers-$(uname -r), python3-setuptools, python3-wheel, python3-pip, ninja-build]
17
18 aarch64_packages: &aarch64_packages
19   - *required_packages
20   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]
21
22 extra_packages: &extra_packages
23   - *required_packages
24   - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
25
26 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
27
28 env:
29   - DEF_LIB="static"
30   - DEF_LIB="shared"
31   - DEF_LIB="static" OPTS="-Denable_kmods=false"
32   - DEF_LIB="shared" OPTS="-Denable_kmods=false"
33   - DEF_LIB="shared" RUN_TESTS=1 BUILD_DOCS=1
34
35 matrix:
36   include:
37   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
38     compiler: gcc
39     addons:
40       apt:
41         packages:
42           - *aarch64_packages
43   - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" AARCH64=1
44     compiler: gcc
45     addons:
46       apt:
47         packages:
48           - *aarch64_packages
49   - env: DEF_LIB="static" EXTRA_PACKAGES=1
50     compiler: gcc
51     addons:
52       apt:
53         packages:
54           - *extra_packages
55   - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
56     compiler: gcc
57     addons:
58       apt:
59         packages:
60           - *extra_packages
61   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
62     compiler: gcc
63     addons:
64       apt:
65         packages:
66           - *extra_packages
67   - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
68     compiler: gcc
69     addons:
70       apt:
71         packages:
72           - *extra_packages
73   - env: DEF_LIB="static" EXTRA_PACKAGES=1
74     compiler: clang
75     addons:
76       apt:
77         packages:
78           - *extra_packages
79   - env: DEF_LIB="shared" EXTRA_PACKAGES=1
80     compiler: clang
81     addons:
82       apt:
83         packages:
84           - *extra_packages
85   - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
86     compiler: clang
87     addons:
88       apt:
89         packages:
90           - *extra_packages
91   - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
92     compiler: clang
93     addons:
94       apt:
95         packages:
96           - *extra_packages
97   - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
98     compiler: clang
99     addons:
100       apt:
101         packages:
102           - *extra_packages
103
104
105 script: ./.ci/${TRAVIS_OS_NAME}-build.sh