add gitlab-ci builds of libdrm
It currently does 4 builds: 2 using Meson and 2 using Autotools, 2 using the latest dependencies on ArchLinux and 2 using very old dependencies on Debian (including manually building libpciaccess to have the oldest version supported, to make sure it keeps being supported). All the build options are turned on for both Meson and Autotools. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Daniel Stone <daniels@collabora.com>main
parent
4d87c2e203
commit
4a9030dc8b
|
@ -0,0 +1,179 @@
|
|||
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
|
Loading…
Reference in New Issue