0e157d7a9a
Let's prune the jobs list to limit the amount of time spent by the robot in Travis. Since meson enables automatically the relevant components, there is not much gain in testing with extra_packages vs required_packages. For a given arch/compiler/env combination, compilation is first tested in all jobs that run tests or build the docs or run the ABI checks. In the same context, for jobs that accumulates running tests, building the docs etc..., those steps are independent and can be split to save some cpu on Travis. With this, we go down from 21 to 15 jobs. Note: this patch requires a flush of the existing caches in Travis. Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
127 lines
2.8 KiB
YAML
127 lines
2.8 KiB
YAML
# default values for all jobs
|
|
language: c
|
|
cache:
|
|
ccache: true
|
|
directories:
|
|
- libabigail
|
|
- reference
|
|
|
|
dist: bionic
|
|
|
|
os: linux
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
packages: &required_packages
|
|
- [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, ninja-build]
|
|
- [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson4]
|
|
|
|
_aarch64_packages: &aarch64_packages
|
|
- *required_packages
|
|
- [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
|
|
|
|
_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
|
|
script: ./.ci/${TRAVIS_OS_NAME}-build.sh
|
|
|
|
jobs:
|
|
include:
|
|
# 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:
|
|
- *required_packages
|
|
- *doc_packages
|
|
- env: DEF_LIB="shared" ABI_CHECKS=1
|
|
arch: amd64
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- *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:
|
|
- *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:
|
|
- *build_32b_packages
|
|
# x86_64 cross-compiling aarch64 jobs
|
|
- env: DEF_LIB="static" AARCH64=1
|
|
arch: amd64
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- *aarch64_packages
|
|
- env: DEF_LIB="shared" AARCH64=1
|
|
arch: amd64
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- *aarch64_packages
|
|
# aarch64 gcc jobs
|
|
- env: DEF_LIB="static"
|
|
arch: arm64
|
|
compiler: gcc
|
|
- env: DEF_LIB="shared" BUILD_DOCS=1
|
|
arch: arm64
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- *required_packages
|
|
- *doc_packages
|
|
- env: DEF_LIB="shared" ABI_CHECKS=1
|
|
arch: arm64
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- *required_packages
|
|
- *libabigail_build_packages
|
|
# aarch64 clang jobs
|
|
- env: DEF_LIB="static"
|
|
arch: arm64
|
|
compiler: clang
|
|
- env: DEF_LIB="shared"
|
|
arch: arm64
|
|
compiler: clang
|