--- /dev/null
+latest-meson:
+ stage: build
+ image: base/archlinux:latest
+ before_script:
+ - pacman -Syu --noconfirm --needed
+ base-devel
+ meson
+ libpciaccess
+ libxslt docbook-xsl
+ valgrind
+ libatomic_ops
+ cairo cunit
+ script:
+ - meson _build
+ -D amdgpu=true
+ -D cairo-tests=true
+ -D etnaviv=true
+ -D exynos=true
+ -D freedreno=true
+ -D freedreno-kgsl=true
+ -D intel=true
+ -D libkms=true
+ -D man-pages=true
+ -D nouveau=true
+ -D omap=true
+ -D radeon=true
+ -D tegra=true
+ -D udev=true
+ -D valgrind=true
+ -D vc4=true
+ -D vmwgfx=true
+ - ninja -C _build
+ - ninja -C _build test
+
+latest-autotools:
+ stage: build
+ image: base/archlinux:latest
+ before_script:
+ - pacman -Syu --noconfirm --needed
+ base-devel
+ libpciaccess
+ libxslt docbook-xsl
+ valgrind
+ libatomic_ops
+ cairo cunit
+ xorg-util-macros
+ git # autogen.sh depends on git
+ script:
+ - mkdir _build
+ - cd _build
+ - ../autogen.sh
+ --enable-udev
+ --enable-libkms
+ --enable-intel
+ --enable-radeon
+ --enable-admgpu
+ --enable-nouveau
+ --enable-vmwfgx
+ --enable-omap-experimental-api
+ --enable-exynos-experimental-api
+ --enable-freedreno
+ --enable-freedreno-kgsl
+ --enable-tegra-experimental-api
+ --enable-vc4
+ --enable-etnaviv-experimental-api
+ - make
+ - make check
+
+oldest-meson:
+ stage: build
+ image: debian:stable
+ before_script:
+ - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
+ 'path-exclude=/usr/share/doc/*'
+ 'path-exclude=/usr/share/man/*'
+ - printf > /usr/sbin/policy-rc.d "%s\n"
+ '#!/bin/sh'
+ 'exit 101'
+ - chmod +x /usr/sbin/policy-rc.d
+ - apt-get update
+ - apt-get -y --no-install-recommends install
+ build-essential
+ pkg-config
+ xsltproc
+ libxslt1-dev docbook-xsl
+ valgrind
+ libatomic-ops-dev
+ libcairo2-dev libcunit1-dev
+ ninja-build
+ python3 python3-pip
+ wget
+ # We need `--no-check-certificate` here because Debian's CA list is
+ # too old to know about LetsEncrypt's CA, so it refuses to connect
+ # to FreeDesktop.org
+ - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
+ wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
+ tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
+ (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+ - pip3 install wheel setuptools
+ - pip3 install meson==0.43
+ script:
+ - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
+ - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
+ - meson _build
+ -D amdgpu=true
+ -D cairo-tests=true
+ -D etnaviv=true
+ -D exynos=true
+ -D freedreno=true
+ -D freedreno-kgsl=true
+ -D intel=true
+ -D libkms=true
+ -D man-pages=true
+ -D nouveau=true
+ -D omap=true
+ -D radeon=true
+ -D tegra=true
+ -D udev=true
+ -D valgrind=true
+ -D vc4=true
+ -D vmwgfx=true
+ - ninja -C _build
+ - ninja -C _build test
+
+oldest-autotools:
+ stage: build
+ image: debian:stable
+ before_script:
+ - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
+ 'path-exclude=/usr/share/doc/*'
+ 'path-exclude=/usr/share/man/*'
+ - printf > /usr/sbin/policy-rc.d "%s\n"
+ '#!/bin/sh'
+ 'exit 101'
+ - chmod +x /usr/sbin/policy-rc.d
+ - apt-get update
+ - apt-get -y --no-install-recommends install
+ build-essential
+ automake
+ autoconf
+ libtool
+ pkg-config
+ xsltproc
+ libxslt1-dev docbook-xsl
+ valgrind
+ libatomic-ops-dev
+ libcairo2-dev libcunit1-dev
+ wget
+ xutils-dev
+ git # autogen.sh depends on git
+ # We need `--no-check-certificate` here because Debian's CA list is
+ # too old to know about LetsEncrypt's CA, so it refuses to connect
+ # to FreeDesktop.org
+ - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
+ wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
+ tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
+ (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
+ script:
+ - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
+ - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
+ - mkdir _build
+ - cd _build
+ - ../autogen.sh
+ --enable-udev
+ --enable-libkms
+ --enable-intel
+ --enable-radeon
+ --enable-admgpu
+ --enable-nouveau
+ --enable-vmwfgx
+ --enable-omap-experimental-api
+ --enable-exynos-experimental-api
+ --enable-freedreno
+ --enable-freedreno-kgsl
+ --enable-tegra-experimental-api
+ --enable-vc4
+ --enable-etnaviv-experimental-api
+ - make
+ - make check