[dpdk-dev] [PATCH 4/4] ci: reorganise Travis jobs

dwilder dwilder at us.ibm.com
Thu Feb 20 01:18:29 CET 2020


On 2020-02-19 11:41, David Marchand wrote:
> 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 only.
> 
> 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 at redhat.com>
> ---
>  .travis.yml | 51 +++++++++------------------------------------------
>  1 file changed, 9 insertions(+), 42 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index c174d5f30..b64a81bd0 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"

Much easier to follow,  I had no issues adding ppc64le jobs.
All my travis jobs ran fine.

LGTM  (the series)



More information about the dev mailing list