pipeline: introduce SWX or instruction
[dpdk.git] / .travis.yml
1 # default values for all jobs
2 language: c
3 cache:
4   ccache: true
5
6 dist: bionic
7
8 os: linux
9
10 addons:
11   apt:
12     update: true
13     packages: &required_packages
14       - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]
15       - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
16
17 _aarch64_packages: &aarch64_packages
18   - *required_packages
19   - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
20
21 _build_32b_packages: &build_32b_packages
22   - *required_packages
23   - [gcc-multilib]
24
25 _doc_packages: &doc_packages
26   - [doxygen, graphviz, python3-sphinx]
27
28 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
29 script: ./.ci/${TRAVIS_OS_NAME}-build.sh
30
31 jobs:
32   include:
33   # x86_64 gcc jobs
34   - env: DEF_LIB="static"
35     arch: amd64
36     compiler: gcc
37   - env: DEF_LIB="shared" RUN_TESTS=1
38     arch: amd64
39     compiler: gcc
40   - env: DEF_LIB="shared" BUILD_DOCS=1
41     arch: amd64
42     compiler: gcc
43     addons:
44       apt:
45         packages:
46           - *required_packages
47           - *doc_packages
48   # x86_64 clang jobs
49   - env: DEF_LIB="static"
50     arch: amd64
51     compiler: clang
52   - env: DEF_LIB="shared" RUN_TESTS=1
53     arch: amd64
54     compiler: clang
55   - env: DEF_LIB="shared" BUILD_DOCS=1
56     arch: amd64
57     compiler: clang
58     addons:
59       apt:
60         packages:
61           - *required_packages
62           - *doc_packages
63   # x86_64 cross-compiling 32-bits jobs
64   - env: DEF_LIB="static" BUILD_32BIT=1
65     arch: amd64
66     compiler: gcc
67     addons:
68       apt:
69         packages:
70           - *build_32b_packages
71   # x86_64 cross-compiling aarch64 jobs
72   - env: DEF_LIB="static" AARCH64=1
73     arch: amd64
74     compiler: gcc
75     addons:
76       apt:
77         packages:
78           - *aarch64_packages
79   - env: DEF_LIB="shared" AARCH64=1
80     arch: amd64
81     compiler: gcc
82     addons:
83       apt:
84         packages:
85           - *aarch64_packages
86   # aarch64 gcc jobs
87   - env: DEF_LIB="static"
88     arch: arm64
89     compiler: gcc
90   - env: DEF_LIB="shared" RUN_TESTS=1
91     arch: arm64
92     compiler: gcc
93   - env: DEF_LIB="shared" RUN_TESTS=1
94     dist: focal
95     arch: arm64-graviton2
96     virt: vm
97     group: edge
98     compiler: gcc
99   - env: DEF_LIB="shared" BUILD_DOCS=1
100     arch: arm64
101     compiler: gcc
102     addons:
103       apt:
104         packages:
105           - *required_packages
106           - *doc_packages
107   # aarch64 clang jobs
108   - env: DEF_LIB="static"
109     arch: arm64
110     compiler: clang
111   - env: DEF_LIB="shared" RUN_TESTS=1
112     arch: arm64
113     compiler: clang
114   - env: DEF_LIB="shared" RUN_TESTS=1
115     dist: focal
116     arch: arm64-graviton2
117     virt: vm
118     group: edge
119     compiler: clang