ci: introduce Travis builds for GitHub repositories
[dpdk.git] / .travis.yml
1 language: c
2 compiler:
3   - gcc
4   - clang
5
6 dist: xenial
7
8 os:
9   - linux
10
11 addons:
12   apt:
13     update: true
14     packages: &required_packages
15       - [libnuma-dev, linux-headers-$(uname -r), python3-setuptools, python3-wheel, python3-pip, ninja-build]
16
17 aarch64_packages: &aarch64_packages
18   - *required_packages
19   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]
20
21 extra_packages: &extra_packages
22   - *required_packages
23   - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
24
25 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
26
27 sudo: false
28
29 env:
30   - DEF_LIB="static"
31   - DEF_LIB="shared"
32   - DEF_LIB="static" OPTS="-Denable_kmods=false"
33   - DEF_LIB="shared" OPTS="-Denable_kmods=false"
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"
50     compiler: gcc
51     addons:
52       apt:
53         packages:
54           - *extra_packages
55   - env: DEF_LIB="shared"
56     compiler: gcc
57     addons:
58       apt:
59         packages:
60           - *extra_packages
61   - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
62     compiler: gcc
63     addons:
64       apt:
65         packages:
66           - *extra_packages
67   - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
68     compiler: gcc
69     addons:
70       apt:
71         packages:
72           - *extra_packages
73   - env: DEF_LIB="static"
74     compiler: clang
75     addons:
76       apt:
77         packages:
78           - *extra_packages
79   - env: DEF_LIB="shared"
80     compiler: clang
81     addons:
82       apt:
83         packages:
84           - *extra_packages
85   - env: DEF_LIB="static" OPTS="-Denable_kmods=false"
86     compiler: clang
87     addons:
88       apt:
89         packages:
90           - *extra_packages
91   - env: DEF_LIB="shared" OPTS="-Denable_kmods=false"
92     compiler: clang
93     addons:
94       apt:
95         packages:
96           - *extra_packages
97
98
99 script: ./.ci/${TRAVIS_OS_NAME}-build.sh