xref: /dpdk/.travis.yml (revision 1d5e58e9)
1# default values for all jobs
2language: c
3cache:
4  ccache: true
5  directories:
6    - libabigail
7    - reference
8
9dist: bionic
10
11os: linux
12
13addons:
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
39before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
40script: ./.ci/${TRAVIS_OS_NAME}-build.sh
41
42env:
43  global:
44    - LIBABIGAIL_VERSION=libabigail-1.8
45    - REF_GIT_TAG=v22.03
46
47jobs:
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
172