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@xxxxxxxxx> > --- > 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@xxxxxxxx> > --- > .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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel