On Fri, Aug 31, 2018 at 03:18:56PM +0100, Eric Engestrom wrote:
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
See it in action on my fork: https://gitlab.freedesktop.org/eric/libdrm/pipelines/3885
With the --no-check-certificate things explained:
Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
.gitlab-ci.yml | 173 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 .gitlab-ci.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000000000000000..a0f3ecb9d7f7f95443a7 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,173 @@ +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
- 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
- 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
-- Cheers, Eric
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel