From 0e157d7a9a0d36d88da9315d018262492b0a64aa Mon Sep 17 00:00:00 2001 From: David Marchand Date: Wed, 19 Feb 2020 17:36:55 +0100 Subject: [PATCH 1/1] ci: reorganise Travis jobs 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 Acked-by: Thomas Monjalon Acked-by: Aaron Conole --- .travis.yml | 51 +++++++++------------------------------------------ 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/.travis.yml b/.travis.yml index c174d5f30d..b64a81bd0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,15 +15,12 @@ addons: 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] -_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] @@ -43,66 +40,39 @@ jobs: - env: DEF_LIB="static" arch: amd64 compiler: gcc - - env: DEF_LIB="shared" - arch: amd64 - compiler: gcc - env: DEF_LIB="shared" RUN_TESTS=1 arch: amd64 compiler: gcc - - env: DEF_LIB="static" EXTRA_PACKAGES=1 - arch: amd64 - compiler: gcc - addons: - apt: - packages: - - *extra_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 + - env: DEF_LIB="shared" BUILD_DOCS=1 arch: amd64 compiler: gcc addons: apt: packages: - - *extra_packages + - *required_packages - *doc_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 + - env: DEF_LIB="shared" ABI_CHECKS=1 arch: amd64 compiler: gcc addons: apt: packages: - - *extra_packages + - *required_packages - *libabigail_build_packages # x86_64 clang jobs - env: DEF_LIB="static" arch: amd64 compiler: clang - - env: DEF_LIB="shared" - arch: amd64 - compiler: clang - env: DEF_LIB="shared" RUN_TESTS=1 arch: amd64 compiler: clang - - env: DEF_LIB="static" EXTRA_PACKAGES=1 - arch: amd64 - compiler: clang - addons: - apt: - packages: - - *extra_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 - arch: amd64 - compiler: clang - addons: - apt: - packages: - - *extra_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1 + - env: DEF_LIB="shared" BUILD_DOCS=1 arch: amd64 compiler: clang addons: apt: packages: - - *extra_packages + - *required_packages - *doc_packages # x86_64 cross-compiling 32-bits jobs - env: DEF_LIB="static" BUILD_32BIT=1 @@ -131,9 +101,6 @@ jobs: - env: DEF_LIB="static" arch: arm64 compiler: gcc - - env: DEF_LIB="shared" - arch: arm64 - compiler: gcc - env: DEF_LIB="shared" BUILD_DOCS=1 arch: arm64 compiler: gcc @@ -142,13 +109,13 @@ jobs: packages: - *required_packages - *doc_packages - - env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1 + - env: DEF_LIB="shared" ABI_CHECKS=1 arch: arm64 compiler: gcc addons: apt: packages: - - *extra_packages + - *required_packages - *libabigail_build_packages # aarch64 clang jobs - env: DEF_LIB="static" -- 2.20.1