.artifacts-meson: &artifacts-meson when: always paths: - _build/meson-logs .artifacts-autotools: &artifacts-autotools when: always paths: - _build/*.log - _build/*/*.log - _build/*/*/*.log .meson-build: &meson-build - 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 .autotools-build: &autotools-build - mkdir _build - cd _build - ../autogen.sh --enable-udev --enable-libkms --enable-intel --enable-radeon --enable-amdgpu --enable-nouveau --enable-vmwgfx --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 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 latest-autotools: stage: build image: base/archlinux:latest artifacts: *artifacts-autotools 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: *autotools-build oldest-meson: stage: build image: debian:stable artifacts: *artifacts-meson 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 - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH" script: *meson-build oldest-autotools: stage: build image: debian:stable artifacts: *artifacts-autotools 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) - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH" script: *autotools-build