From patchwork Fri Aug 31 14:18:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Engestrom X-Patchwork-Id: 10583891 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 53536112B for ; Fri, 31 Aug 2018 14:22:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 406D12BFDB for ; Fri, 31 Aug 2018 14:22:19 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3E97D2C0C6; Fri, 31 Aug 2018 14:22:19 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 8507C2BFDB for ; Fri, 31 Aug 2018 14:22:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0215A6E8FC; Fri, 31 Aug 2018 14:22:12 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7FF606E7AB for ; Fri, 31 Aug 2018 14:22:10 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Aug 2018 07:22:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,311,1531810800"; d="scan'208";a="258816677" Received: from cmoyniha-mobl3.ger.corp.intel.com (HELO eengestr-dev.ger.corp.intel.com) ([10.252.10.216]) by fmsmga005.fm.intel.com with ESMTP; 31 Aug 2018 07:22:08 -0700 From: Eric Engestrom To: dri-devel@lists.freedesktop.org Subject: [PATCH libdrm] add gitlab-ci builds of libdrm Date: Fri, 31 Aug 2018 15:18:56 +0100 Message-Id: <20180831141856.28780-1-eric.engestrom@intel.com> X-Mailer: git-send-email 2.18.0 Organization: Intel Corp UK X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP 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 Reviewed-by: Daniel Vetter Reviewed-by: Daniel Stone --- See it in action on my fork: https://gitlab.freedesktop.org/eric/libdrm/pipelines/3885 --- .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