summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorEric Engestrom <[email protected]>2019-03-08 11:16:25 +0000
committerEric Engestrom <[email protected]>2019-03-19 17:40:05 +0000
commitb3aa37046bf852b370c76fe3f462731a144af4be (patch)
treecf3064ae506694f6d996347fbc2f16ab075f7b3a /.travis.yml
parent17115da6add2b6dd2913423b4749f83fc878786a (diff)
gitlab-ci: drop most autotools builds
With autotools this close to being not supported anymore, let's not waste half of the CI cycles on it. The default build will catch most issues, and the rest can be tested by the old Travis. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml445
1 files changed, 443 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml
index 0dbb9f63752..82c2088776c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,15 +3,355 @@ language: c
dist: xenial
cache:
+ apt: true
ccache: true
env:
global:
- - PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
+ - XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
+ - XCB_RELEASES=https://xcb.freedesktop.org/dist
+ - WAYLAND_RELEASES=https://wayland.freedesktop.org/releases
+ - XORGMACROS_VERSION=util-macros-1.19.0
+ - GLPROTO_VERSION=glproto-1.4.17
+ - DRI2PROTO_VERSION=dri2proto-2.8
+ - LIBPCIACCESS_VERSION=libpciaccess-0.13.4
+ - LIBDRM_VERSION=libdrm-2.4.97
+ - XCBPROTO_VERSION=xcb-proto-1.13
+ - RANDRPROTO_VERSION=randrproto-1.3.0
+ - LIBXRANDR_VERSION=libXrandr-1.3.0
+ - LIBXCB_VERSION=libxcb-1.13
+ - LIBXSHMFENCE_VERSION=libxshmfence-1.2
+ - LIBVDPAU_VERSION=libvdpau-1.1
+ - LIBVA_VERSION=libva-1.7.0
+ - LIBWAYLAND_VERSION=wayland-1.15.0
+ - WAYLAND_PROTOCOLS_VERSION=wayland-protocols-1.8
+ - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
+ - LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
+ - PATH="$HOME/prefix/bin:$PATH"
matrix:
include:
- env:
+ - LABEL="make Vulkan"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="make -C src/gtest check && make -C src/intel check"
+ - LLVM_VERSION=7
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl --with-platforms=x11,wayland"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--enable-dri --enable-dri3 --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS=""
+ - VULKAN_DRIVERS="intel,radeon"
+ - LIBUNWIND_FLAGS="--disable-libunwind"
+ addons:
+ apt:
+ sources:
+ - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+ key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+ packages:
+ # From sources above
+ - llvm-7-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make loaders/classic DRI"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="make check"
+ - DRI_LOADERS="--enable-glx --enable-gbm --enable-egl --with-platforms=x11,drm,surfaceless,wayland --enable-osmesa"
+ - DRI_DRIVERS="i915,i965,radeon,r200,swrast,nouveau"
+ - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS=""
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--disable-libunwind"
+ addons:
+ apt:
+ packages:
+ - xz-utils
+ - x11proto-xf86vidmode-dev
+ - libxxf86vm-dev
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libxdamage-dev
+ - libxfixes-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ # NOTE: Building SWR is 2x (yes two) times slower than all the other
+ # gallium drivers combined.
+ # Start this early so that it doesn't hunder the run time.
+ - LABEL="make Gallium Drivers SWR"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=6.0
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="swr"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ - llvm-6.0-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium Drivers RadeonSI"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=7
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="radeonsi"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ sources:
+ - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+ key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+ packages:
+ # From sources above
+ - llvm-7-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium Drivers Other"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - 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_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ # LLVM packaging is broken and misses these dependencies
+ - libedit-dev
+ - llvm-3.9-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium ST Clover LLVM-3.9"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - 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_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="r600"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ - libclc-dev
+ # LLVM packaging is broken and misses these dependencies
+ - libedit-dev
+ - llvm-3.9-dev
+ - clang-3.9
+ - libclang-3.9-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium ST Clover LLVM-4.0"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=4.0
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="r600"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ - libclc-dev
+ # LLVM packaging is broken and misses these dependencies
+ - libedit-dev
+ - llvm-4.0-dev
+ - clang-4.0
+ - libclang-4.0-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium ST Clover LLVM-5.0"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=5.0
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="r600"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ - libclc-dev
+ # LLVM packaging is broken and misses these dependencies
+ - libedit-dev
+ - llvm-5.0-dev
+ - clang-5.0
+ - libclang-5.0-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium ST Clover LLVM-6.0"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=6.0
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="r600"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ - libclc-dev
+ - llvm-6.0-dev
+ - clang-6.0
+ - libclang-6.0-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
+ - LABEL="make Gallium ST Clover LLVM-7"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=7
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--disable-dri --enable-opencl --enable-opencl-icd --enable-llvm --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
+ - GALLIUM_DRIVERS="r600,radeonsi"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ sources:
+ - sourceline: 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-7 main'
+ key_url: https://apt.llvm.org/llvm-snapshot.gpg.key
+ packages:
+ - libclc-dev
+ # From sources above
+ - llvm-7-dev
+ - clang-7
+ - libclang-7-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - env:
+ - LABEL="make Gallium ST Other"
+ - BUILD=make
+ - MAKEFLAGS="-j4"
+ - MAKE_CHECK_COMMAND="true"
+ - LLVM_VERSION=3.5
+ - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
+ - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
+ - DRI_DRIVERS=""
+ - GALLIUM_ST="--enable-dri --disable-opencl --enable-xa --enable-nine --enable-xvmc --enable-vdpau --enable-va --enable-omx-bellagio --enable-gallium-osmesa"
+ # We need swrast for osmesa and nine.
+ # i915 most likely doesn't work with most ST.
+ # Regardless - we're doing a quick build test here.
+ - GALLIUM_DRIVERS="i915,swrast"
+ - VULKAN_DRIVERS=""
+ - LIBUNWIND_FLAGS="--enable-libunwind"
+ addons:
+ apt:
+ packages:
+ # We actually want to test against llvm-3.3, yet 3.5 is available
+ - llvm-3.5-dev
+ # Nine requires gcc 4.6... which is the one we have right ?
+ - libxvmc-dev
+ # Build locally, for now.
+ #- libvdpau-dev
+ #- libva-dev
+ - libomxil-bellagio-dev
+ # LLVM packaging is broken and misses these dependencies
+ - libedit-dev
+ # Common
+ - xz-utils
+ - libexpat1-dev
+ - libx11-xcb-dev
+ - libelf-dev
+ - libunwind8-dev
+ - python3-pip
+ - python3-setuptools
+ - env:
- LABEL="macOS make"
- BUILD=make
- DRI_LOADERS="--with-platforms=x11 --disable-egl"
@@ -62,6 +402,105 @@ install:
# Install dependencies where we require specific versions (or where
# disallowed by Travis CI's package whitelisting).
+ - |
+ if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+ wget $XORG_RELEASES/util/$XORGMACROS_VERSION.tar.bz2
+ tar -jxvf $XORGMACROS_VERSION.tar.bz2
+ (cd $XORGMACROS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XORG_RELEASES/proto/$GLPROTO_VERSION.tar.bz2
+ tar -jxvf $GLPROTO_VERSION.tar.bz2
+ (cd $GLPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XORG_RELEASES/proto/$DRI2PROTO_VERSION.tar.bz2
+ tar -jxvf $DRI2PROTO_VERSION.tar.bz2
+ (cd $DRI2PROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XCB_RELEASES/$XCBPROTO_VERSION.tar.bz2
+ tar -jxvf $XCBPROTO_VERSION.tar.bz2
+ (cd $XCBPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XCB_RELEASES/$LIBXCB_VERSION.tar.bz2
+ tar -jxvf $LIBXCB_VERSION.tar.bz2
+ (cd $LIBXCB_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XORG_RELEASES/lib/$LIBPCIACCESS_VERSION.tar.bz2
+ tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2
+ (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
+ tar -jxvf $LIBDRM_VERSION.tar.bz2
+ (cd $LIBDRM_VERSION && ./configure --prefix=$HOME/prefix --enable-vc4 --enable-freedreno --enable-etnaviv-experimental-api && make install)
+
+ wget $XORG_RELEASES/proto/$RANDRPROTO_VERSION.tar.bz2
+ tar -jxvf $RANDRPROTO_VERSION.tar.bz2
+ (cd $RANDRPROTO_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XORG_RELEASES/lib/$LIBXRANDR_VERSION.tar.bz2
+ tar -jxvf $LIBXRANDR_VERSION.tar.bz2
+ (cd $LIBXRANDR_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget $XORG_RELEASES/lib/$LIBXSHMFENCE_VERSION.tar.bz2
+ tar -jxvf $LIBXSHMFENCE_VERSION.tar.bz2
+ (cd $LIBXSHMFENCE_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget https://people.freedesktop.org/~aplattner/vdpau/$LIBVDPAU_VERSION.tar.bz2
+ tar -jxvf $LIBVDPAU_VERSION.tar.bz2
+ (cd $LIBVDPAU_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ wget https://www.freedesktop.org/software/vaapi/releases/libva/$LIBVA_VERSION.tar.bz2
+ tar -jxvf $LIBVA_VERSION.tar.bz2
+ (cd $LIBVA_VERSION && ./configure --prefix=$HOME/prefix --disable-wayland --disable-dummy-driver && make install)
+
+ wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
+ tar -axvf $LIBWAYLAND_VERSION.tar.xz
+ (cd $LIBWAYLAND_VERSION && ./configure --prefix=$HOME/prefix --enable-libraries --without-host-scanner --disable-documentation --disable-dtd-validation && make install)
+
+ wget $WAYLAND_RELEASES/$WAYLAND_PROTOCOLS_VERSION.tar.xz
+ tar -axvf $WAYLAND_PROTOCOLS_VERSION.tar.xz
+ (cd $WAYLAND_PROTOCOLS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+
+ # Meson requires ninja >= 1.6, but xenial has 1.3.x
+ wget https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-linux.zip
+ unzip ninja-linux.zip
+ mv ninja $HOME/prefix/bin/
+
+ # Generate this header since one is missing on the Travis instance
+ mkdir -p linux
+ printf "%s\n" \
+ "#ifndef _LINUX_MEMFD_H" \
+ "#define _LINUX_MEMFD_H" \
+ "" \
+ "#define MFD_CLOEXEC 0x0001U" \
+ "#define MFD_ALLOW_SEALING 0x0002U" \
+ "" \
+ "#endif /* _LINUX_MEMFD_H */" > linux/memfd.h
+
+ # Generate this header, including the missing SYS_memfd_create
+ # macro, which is not provided by the header in the Travis
+ # instance
+ mkdir -p sys
+ printf "%s\n" \
+ "#ifndef _SYSCALL_H" \
+ "#define _SYSCALL_H 1" \
+ "" \
+ "#include <asm/unistd.h>" \
+ "" \
+ "#ifndef _LIBC" \
+ "# include <bits/syscall.h>" \
+ "#endif" \
+ "" \
+ "#ifndef __NR_memfd_create" \
+ "# define __NR_memfd_create 319 /* Taken from <asm/unistd_64.h> */" \
+ "#endif" \
+ "" \
+ "#ifndef SYS_memfd_create" \
+ "# define SYS_memfd_create __NR_memfd_create" \
+ "#endif" \
+ "" \
+ "#endif" > sys/syscall.h
+ fi
+
script:
- if test "x$BUILD" = xmake; then
export CFLAGS="$CFLAGS -isystem`pwd`";
@@ -72,13 +511,15 @@ script:
../autogen.sh
--enable-autotools
--enable-debug
+ $LIBUNWIND_FLAGS
$DRI_LOADERS
--with-dri-drivers=$DRI_DRIVERS
+ $GALLIUM_ST
--with-gallium-drivers=$GALLIUM_DRIVERS
--with-vulkan-drivers=$VULKAN_DRIVERS
--disable-llvm-shared-libs
&&
- make && make check;
+ make && eval $MAKE_CHECK_COMMAND;
fi
- |