test mbuf attach
[dpdk.git] / .travis.yml
index 3d6ef29..14f8124 100644 (file)
+# default values for all jobs
 language: c
-cache: ccache
-compiler:
-  - gcc
-  - clang
+cache:
+  ccache: true
+  directories:
+    - libabigail
+    - reference
 
-dist: xenial
+dist: bionic
 
-os:
-  - linux
+os: linux
 
 addons:
   apt:
     update: true
     packages: &required_packages
-      - [libnuma-dev, linux-headers-$(uname -r), python3-setuptools, python3-wheel, python3-pip, ninja-build]
+      - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]
+      - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
 
-aarch64_packages: &aarch64_packages
+_aarch64_packages: &aarch64_packages
   - *required_packages
-  - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]
+  - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
 
-extra_packages: &extra_packages
+_libabigail_build_packages: &libabigail_build_packages
+  - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
+
+_build_32b_packages: &build_32b_packages
   - *required_packages
-  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
+  - [gcc-multilib]
 
-doc_packages: &doc_packages
+_doc_packages: &doc_packages
   - [doxygen, graphviz, python3-sphinx]
 
 before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
+script: ./.ci/${TRAVIS_OS_NAME}-build.sh
 
 env:
-  - DEF_LIB="static"
-  - DEF_LIB="shared"
-  - DEF_LIB="static" OPTS="-Denable_kmods=false"
-  - DEF_LIB="shared" OPTS="-Denable_kmods=false"
-  - DEF_LIB="shared" RUN_TESTS=1
+  global:
+    - REF_GIT_TAG=v20.05
 
-matrix:
+jobs:
   include:
-  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
+  # x86_64 gcc jobs
+  - env: DEF_LIB="static"
+    arch: amd64
     compiler: gcc
-    addons:
-      apt:
-        packages:
-          - *aarch64_packages
-  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" AARCH64=1
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    arch: amd64
+    compiler: gcc
+  - env: DEF_LIB="shared" BUILD_DOCS=1
+    arch: amd64
     compiler: gcc
     addons:
       apt:
         packages:
-          - *aarch64_packages
-  - env: DEF_LIB="static" EXTRA_PACKAGES=1
+          - *required_packages
+          - *doc_packages
+  - env: DEF_LIB="shared" ABI_CHECKS=1
+    arch: amd64
     compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
-  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
-    compiler: gcc
+          - *required_packages
+          - *libabigail_build_packages
+  # x86_64 clang jobs
+  - env: DEF_LIB="static"
+    arch: amd64
+    compiler: clang
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    arch: amd64
+    compiler: clang
+  - env: DEF_LIB="shared" BUILD_DOCS=1
+    arch: amd64
+    compiler: clang
     addons:
       apt:
         packages:
-          - *extra_packages
+          - *required_packages
           - *doc_packages
-  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
+  # x86_64 cross-compiling 32-bits jobs
+  - env: DEF_LIB="static" BUILD_32BIT=1
+    arch: amd64
     compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
-  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
+          - *build_32b_packages
+  # x86_64 cross-compiling aarch64 jobs
+  - env: DEF_LIB="static" AARCH64=1
+    arch: amd64
     compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
-  - env: DEF_LIB="static" EXTRA_PACKAGES=1
-    compiler: clang
-    addons:
-      apt:
-        packages:
-          - *extra_packages
-  - env: DEF_LIB="shared" EXTRA_PACKAGES=1
-    compiler: clang
+          - *aarch64_packages
+  - env: DEF_LIB="shared" AARCH64=1
+    arch: amd64
+    compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
-  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
-    compiler: clang
+          - *aarch64_packages
+  # aarch64 gcc jobs
+  - env: DEF_LIB="static"
+    arch: arm64
+    compiler: gcc
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    arch: arm64
+    compiler: gcc
+  - env: DEF_LIB="shared" BUILD_DOCS=1
+    arch: arm64
+    compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
+          - *required_packages
           - *doc_packages
-  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
-    compiler: clang
+  - env: DEF_LIB="shared" ABI_CHECKS=1
+    arch: arm64
+    compiler: gcc
     addons:
       apt:
         packages:
-          - *extra_packages
-  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
+          - *required_packages
+          - *libabigail_build_packages
+  # aarch64 clang jobs
+  - env: DEF_LIB="static"
+    arch: arm64
+    compiler: clang
+  - env: DEF_LIB="shared" RUN_TESTS=1
+    arch: arm64
     compiler: clang
-    addons:
-      apt:
-        packages:
-          - *extra_packages
-
-
-script: ./.ci/${TRAVIS_OS_NAME}-build.sh