[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