David Marchand <david.march...@redhat.com> writes:

> 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.march...@redhat.com>
> ---

In general, I think the idea with required vs. extra was to have a build
that did the minimum required, and one that did all the packages (to
allow a minimum vs. full DPDK).

At least, that's from
http://mails.dpdk.org/archives/dev/2019-January/124007.html

Not sure if that's still something anyone cares about.

>  .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"

Reply via email to