diff options
author | Eric Engestrom <[email protected]> | 2019-03-08 11:16:25 +0000 |
---|---|---|
committer | Eric Engestrom <[email protected]> | 2019-03-19 17:40:05 +0000 |
commit | b3aa37046bf852b370c76fe3f462731a144af4be (patch) | |
tree | cf3064ae506694f6d996347fbc2f16ab075f7b3a /.travis.yml | |
parent | 17115da6add2b6dd2913423b4749f83fc878786a (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.yml | 445 |
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 - | |