[Mesa-dev] [PATCH 12/13] travis: split the make target to three separate ones

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 7 19:05:45 UTC 2017


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
 - All Gallium drivers (minus the SWR) alongside st/dri (mesa)
 - The Vulkan drivers - currently only RADV, add a note why ANV is not
enabled.

Note that 'make check' is run only the first target since there's no
tests of interest for the others.

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 .travis.yml | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 61 insertions(+), 13 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index b5d9df5dddd..98c2c594328 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -29,26 +29,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}"
+        - RUN_CHECK=1
+        # XXX: Add wayland platform
+        - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-egl-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:
-            # 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.
@@ -60,6 +55,7 @@ matrix:
         - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
         - OVERRIDE_CC=gcc-5
         - OVERRIDE_CXX=g++-5
+        - DRI_LOADERS=""
         - DRI_DRIVERS=""
         - GALLIUM_DRIVERS="swr"
         - VULKAN_DRIVERS=""
@@ -78,6 +74,55 @@ matrix:
             - libx11-xcb-dev
             - libelf-dev
     - env:
+        - LABEL="make Gallium Drivers Other"
+        - BUILD=make
+        - MAKEFLAGS=-j2
+        - LLVM_VERSION=3.9
+        - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+        - DRI_LOADERS=""
+        - 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:
+            # 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
+        # XXX: Enable when we start building ANV.
+        - RUN_CHECK=0
+        - 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
+        - DRI_LOADERS="--enable-egl --with-egl-platforms=x11"
+        - DRI_DRIVERS=""
+        - GALLIUM_DRIVERS=""
+        # XXX: Add ANV
+        # It requires memfd support (introduced circa 3.17) yet  the Travis-CI
+        # instance is shipping very old headers, despite having a 4.4 kernel.
+        - VULKAN_DRIVERS="radeon"
+      addons:
+        apt:
+          sources:
+            - llvm-toolchain-trusty-3.9
+          packages:
+            - x11proto-xf86vidmode-dev
+            - libexpat1-dev
+            - libx11-xcb-dev
+            - llvm-3.9-dev
+            - libelf-dev
+    - env:
         - LABEL="scons"
         - BUILD=scons
         # Explicitly disable.
@@ -209,13 +254,16 @@ script:
       test $OVERRIDE_CC && export CC=$OVERRIDE_CC;
       test $OVERRIDE_CXX && export CXX=$OVERRIDE_CXX;
       ./autogen.sh --enable-debug
-        --with-egl-platforms=x11,drm
+        $DRI_LOADERS
         --with-dri-drivers=$DRI_DRIVERS
         --with-gallium-drivers=$GALLIUM_DRIVERS
         --with-vulkan-drivers=$VULKAN_DRIVERS
         --disable-llvm-shared-libs
         ;
-      make && make check;
+      make;
+      if test "x$RUN_CHECK" = x1; then
+        make check;
+      fi
     fi
 
   - if test "x$BUILD" = xscons; then
-- 
2.11.1



More information about the mesa-dev mailing list