doc: show how to include code in guides
[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, python3-pyelftools, 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 _aarch64_clang_packages: &aarch64_clang_packages
25   - *required_packages
26   - [libgcc-7-dev-arm64-cross, libatomic1-arm64-cross, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
27
28 _libabigail_build_packages: &libabigail_build_packages
29   - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
30
31 _build_32b_packages: &build_32b_packages
32   - *required_packages
33   - [gcc-multilib]
34
35 _doc_packages: &doc_packages
36   - [doxygen, graphviz, python3-sphinx]
37
38 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
39 script: ./.ci/${TRAVIS_OS_NAME}-build.sh
40
41 env:
42   global:
43     - LIBABIGAIL_VERSION=libabigail-1.8
44     - REF_GIT_TAG=v21.02
45
46 jobs:
47   include:
48   # x86_64 gcc jobs
49   - env: DEF_LIB="static"
50     arch: amd64
51     compiler: gcc
52   - env: DEF_LIB="shared" RUN_TESTS=true
53     arch: amd64
54     compiler: gcc
55   - env: DEF_LIB="shared" BUILD_DOCS=true
56     arch: amd64
57     compiler: gcc
58     addons:
59       apt:
60         packages:
61           - *required_packages
62           - *doc_packages
63   - env: DEF_LIB="shared" ABI_CHECKS=true
64     arch: amd64
65     compiler: gcc
66     addons:
67       apt:
68         packages:
69           - *required_packages
70           - *libabigail_build_packages
71   # x86_64 clang jobs
72   - env: DEF_LIB="static"
73     arch: amd64
74     compiler: clang
75   - env: DEF_LIB="shared" RUN_TESTS=true
76     arch: amd64
77     compiler: clang
78   - env: DEF_LIB="shared" BUILD_DOCS=true
79     arch: amd64
80     compiler: clang
81     addons:
82       apt:
83         packages:
84           - *required_packages
85           - *doc_packages
86   # x86_64 cross-compiling 32-bits jobs
87   - env: DEF_LIB="static" BUILD_32BIT=true
88     arch: amd64
89     compiler: gcc
90     addons:
91       apt:
92         packages:
93           - *build_32b_packages
94   # x86_64 cross-compiling aarch64 jobs
95   - env: DEF_LIB="static" AARCH64=true
96     arch: amd64
97     compiler: gcc
98     addons:
99       apt:
100         packages:
101           - *aarch64_packages
102   - env: DEF_LIB="shared" AARCH64=true
103     arch: amd64
104     compiler: gcc
105     addons:
106       apt:
107         packages:
108           - *aarch64_packages
109   - env: DEF_LIB="static" AARCH64=true
110     arch: amd64
111     compiler: clang
112     addons:
113       apt:
114         packages:
115           - *aarch64_clang_packages
116   - env: DEF_LIB="shared" AARCH64=true
117     arch: amd64
118     compiler: clang
119     addons:
120       apt:
121         packages:
122           - *aarch64_clang_packages
123   # aarch64 gcc jobs
124   - env: DEF_LIB="static"
125     dist: focal
126     arch: arm64-graviton2
127     virt: vm
128     group: edge
129     compiler: gcc
130   - env: DEF_LIB="shared" RUN_TESTS=true
131     dist: focal
132     arch: arm64-graviton2
133     virt: vm
134     group: edge
135     compiler: gcc
136   - env: DEF_LIB="shared" BUILD_DOCS=true
137     dist: focal
138     arch: arm64-graviton2
139     virt: vm
140     group: edge
141     compiler: gcc
142     addons:
143       apt:
144         packages:
145           - *required_packages
146           - *doc_packages
147   - env: DEF_LIB="shared" ABI_CHECKS=true
148     dist: focal
149     arch: arm64-graviton2
150     virt: vm
151     group: edge
152     compiler: gcc
153     addons:
154       apt:
155         packages:
156           - *required_packages
157           - *libabigail_build_packages
158   # aarch64 clang jobs
159   - env: DEF_LIB="static"
160     dist: focal
161     arch: arm64-graviton2
162     virt: vm
163     group: edge
164     compiler: clang
165   - env: DEF_LIB="shared" RUN_TESTS=true
166     dist: focal
167     arch: arm64-graviton2
168     virt: vm
169     group: edge
170     compiler: clang