[Mesa-dev] [PATCH 12/16] travis: split the make target to three separate ones
Andres Gomez
agomez at igalia.com
Fri Apr 28 23:02:27 UTC 2017
On Fri, 2017-04-28 at 19:25 +0100, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Split the target to allow faster builds for each run.
>
> The overall build time will be more, yet Travis runs multiple builds in
> parallel so we're limited by the slowest one.
>
> Things are split roughly as:
> - DRI loaders, classic DRI drivers, classic OSMesa, make check
> - All Gallium drivers (minus the SWR) alongside st/dri (mesa)
> - The Vulkan drivers - ANV and RADV, make check (anv)
>
> v2:
> - rework RUN_CHECK to MAKE_CHECK_COMMAND
> - explicitly disable DRI loaders
> - generate linux/memfd.h locally and enable ANV
> - add libedit-dev
>
> v3: Use printf to create the header (Andres).
>
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> .travis.yml | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------
> 1 file changed, 77 insertions(+), 16 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index 6548e85b767..5298fa11b67 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -26,28 +26,21 @@ env:
> matrix:
> include:
> - env:
> - - LABEL="make"
> + - LABEL="make loaders/classic DRI"
> - BUILD=make
> - MAKEFLAGS=-j2
> - - LLVM_VERSION=3.9
> - - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> + - MAKE_CHECK_COMMAND="make check"
> + # XXX: Add wayland platform
> + - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless --enable-osmesa"
> - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
> - - GALLIUM_DRIVERS="i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,etnaviv,imx"
> - - VULKAN_DRIVERS="radeon"
> + - GALLIUM_DRIVERS=""
> + - VULKAN_DRIVERS=""
> addons:
> apt:
> - sources:
> - - llvm-toolchain-trusty-3.9
> packages:
> - # LLVM packaging is broken and misses these dependencies
> - - libedit-dev
> - # From sources above
> - - llvm-3.9-dev
> - # Common
> - x11proto-xf86vidmode-dev
> - libexpat1-dev
> - libx11-xcb-dev
> - - libelf-dev
> - env:
> # NOTE: Building SWR is 2x (yes two) times slower than all the other
> # gallium drivers combined.
> @@ -55,10 +48,12 @@ matrix:
> - LABEL="make Gallium Drivers SWR"
> - BUILD=make
> - MAKEFLAGS=-j2
> + - MAKE_CHECK_COMMAND="true"
> - LLVM_VERSION=3.9
> - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> - OVERRIDE_CC="gcc-5"
> - OVERRIDE_CXX="g++-5"
> + - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> - DRI_DRIVERS=""
> - GALLIUM_DRIVERS="swr"
> - VULKAN_DRIVERS=""
> @@ -79,6 +74,57 @@ matrix:
> - libx11-xcb-dev
> - libelf-dev
> - env:
> + - LABEL="make Gallium Drivers Other"
> + - BUILD=make
> + - MAKEFLAGS=-j2
> + - MAKE_CHECK_COMMAND="true"
> + - LLVM_VERSION=3.9
> + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> + - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
> + - DRI_DRIVERS=""
> + - GALLIUM_DRIVERS="i915,nouveau,r300,r600,radeonsi,freedreno,svga,swrast,vc4,virgl,etnaviv,imx"
> + - VULKAN_DRIVERS=""
> + addons:
> + apt:
> + sources:
> + - llvm-toolchain-trusty-3.9
> + packages:
libedit-dev is missing here. It is added later in the patch 14 of this
series. It should be reordered.
> + # From sources above
> + - llvm-3.9-dev
> + # Common
> + - x11proto-xf86vidmode-dev
> + - libexpat1-dev
> + - libx11-xcb-dev
> + - libelf-dev
> + - env:
> + - LABEL="make Vulkan"
> + - BUILD=make
> + - MAKEFLAGS=-j2
> + - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel check"
> + - LLVM_VERSION=3.9
> + - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
> + # XXX: we want to test the WSI, but those are enabled via the EGL toggles
> + # XXX: Add wayland platform
> + # XXX: Platform X11 dependencies are checked when --enable-glx is set
> + - DRI_LOADERS="--enable-glx --disable-gbm --enable-egl --with-platforms=x11"
> + - DRI_DRIVERS=""
> + - GALLIUM_DRIVERS=""
> + - VULKAN_DRIVERS="intel,radeon"
> + addons:
> + apt:
> + sources:
> + - llvm-toolchain-trusty-3.9
> + packages:
> + # LLVM packaging is broken and misses these dependencies
> + - libedit-dev
> + # From sources above
> + - llvm-3.9-dev
> + # Common
> + - x11proto-xf86vidmode-dev
> + - libexpat1-dev
> + - libx11-xcb-dev
> + - libelf-dev
> + - env:
> - LABEL="scons"
> - BUILD=scons
> - SCONSFLAGS="-j4"
> @@ -200,18 +246,33 @@ install:
> (cd $LIBTXC_DXTN_VERSION && ./configure --prefix=$HOME/prefix && make install);
> fi
>
> + # Generate the header since one is missing on the Travis instance
> + - mkdir -p linux
> + - echo "#ifndef _LINUX_MEMFD_H" > linux/memfd.h
> + - echo "#define _LINUX_MEMFD_H" >> linux/memfd.h
> + - echo "" >> linux/memfd.h
> + - echo "#define __NR_memfd_create 319" >> linux/memfd.h
> + - echo "#define SYS_memfd_create __NR_memfd_create" >> linux/memfd.h
> + - echo "" >> linux/memfd.h
> + - echo "#define MFD_CLOEXEC 0x0001U" >> linux/memfd.h
> + - echo "#define MFD_ALLOW_SEALING 0x0002U" >> linux/memfd.h
> + - echo "" >> linux/memfd.h
> + - echo "#endif /* _LINUX_MEMFD_H */" >> linux/memfd.h
This still uses several echo commands instead of a single printf.
With those 2 changes, this is:
Reviewed-by: Andres Gomez <agomez at igalia.com>
--
Br,
Andres
More information about the mesa-dev
mailing list