[PATCH libdrm] add gitlab-ci builds of libdrm
Daniel Vetter
daniel at ffwll.ch
Mon Sep 3 08:45:02 UTC 2018
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 at 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 at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list