X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=blobdiff_plain;f=.travis.yml;h=14f812423385804765044babf7eb821435012df7;hp=3045eada5989d064bbe01b57cd4da5ccc3a04c38;hb=a617494eeb01ff3839e61a6b21259fbb19b1218b;hpb=99889bd85228bdf6fa28e160308444d82dca68cd diff --git a/.travis.yml b/.travis.yml index 3045eada59..14f8124233 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,99 +1,133 @@ +# default values for all jobs language: c -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] -before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh +_doc_packages: &doc_packages + - [doxygen, graphviz, python3-sphinx] -sudo: false +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" + 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 + - 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="shared" OPTS="-Denable_kmods=false" AARCH64=1 + - *required_packages + - *doc_packages + - env: DEF_LIB="shared" ABI_CHECKS=1 + arch: amd64 compiler: gcc addons: apt: packages: - - *aarch64_packages + - *required_packages + - *libabigail_build_packages + # x86_64 clang jobs - env: DEF_LIB="static" - compiler: gcc + 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 - - env: DEF_LIB="shared" + - *required_packages + - *doc_packages + # 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="static" OPTS="-Denable_kmods=false" + - *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="shared" OPTS="-Denable_kmods=false" + - *aarch64_packages + - env: DEF_LIB="shared" AARCH64=1 + arch: amd64 compiler: gcc addons: apt: packages: - - *extra_packages + - *aarch64_packages + # aarch64 gcc jobs - env: DEF_LIB="static" - compiler: clang + 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 - - env: DEF_LIB="shared" - compiler: clang + - *required_packages + - *doc_packages + - env: DEF_LIB="shared" ABI_CHECKS=1 + arch: arm64 + compiler: gcc addons: apt: packages: - - *extra_packages - - env: DEF_LIB="static" OPTS="-Denable_kmods=false" + - *required_packages + - *libabigail_build_packages + # aarch64 clang jobs + - env: DEF_LIB="static" + arch: arm64 compiler: clang - addons: - apt: - packages: - - *extra_packages - - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" + - env: DEF_LIB="shared" RUN_TESTS=1 + arch: arm64 compiler: clang - addons: - apt: - packages: - - *extra_packages - - -script: ./.ci/${TRAVIS_OS_NAME}-build.sh