language: c cache: ccache: true directories: - libabigail - reference compiler: - gcc - clang dist: bionic os: - linux addons: apt: update: true packages: &required_packages - [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build] _aarch64_packages: &aarch64_packages - *required_packages - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu] _extra_packages: &extra_packages - *required_packages - [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson4] _libabigail_build_packages: &libabigail_build_packages - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev] _build_32b_packages: &build_32b_packages - *required_packages - [gcc-multilib] _doc_packages: &doc_packages - [doxygen, graphviz, python3-sphinx] before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh env: - DEF_LIB="static" - DEF_LIB="shared" - DEF_LIB="shared" RUN_TESTS=1 jobs: include: - env: DEF_LIB="static" BUILD_32BIT=1 compiler: gcc addons: apt: packages: - *build_32b_packages - env: DEF_LIB="static" AARCH64=1 compiler: gcc addons: apt: packages: - *aarch64_packages - env: DEF_LIB="shared" AARCH64=1 compiler: gcc addons: apt: packages: - *aarch64_packages - env: DEF_LIB="static" EXTRA_PACKAGES=1 compiler: gcc addons: apt: packages: - *extra_packages - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 compiler: gcc addons: apt: packages: - *extra_packages - *doc_packages - env: DEF_LIB="static" EXTRA_PACKAGES=1 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 addons: apt: packages: - *extra_packages - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 compiler: clang addons: apt: packages: - *extra_packages - *doc_packages - env: DEF_LIB="static" arch: arm64 compiler: gcc addons: apt: packages: - *required_packages - env: DEF_LIB="shared" arch: arm64 compiler: gcc addons: apt: packages: - *required_packages - env: DEF_LIB="static" arch: arm64 compiler: clang addons: apt: packages: - *required_packages - env: DEF_LIB="shared" arch: arm64 compiler: clang addons: apt: packages: - *required_packages - env: DEF_LIB="shared" BUILD_DOCS=1 arch: arm64 compiler: gcc addons: apt: packages: - *required_packages - *doc_packages - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 compiler: gcc addons: apt: packages: - *extra_packages - *libabigail_build_packages - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 arch: arm64 compiler: gcc addons: apt: packages: - *extra_packages - *libabigail_build_packages script: ./.ci/${TRAVIS_OS_NAME}-build.sh