blob: ac2a9d2d445ee3bb9a8ff17118d2d88f26fc0a02 [file] [log] [blame]
Daniel Stone946fa212018-09-06 11:01:17 +01001.artifacts-meson: &artifacts-meson
2 when: always
3 paths:
4 - _build/meson-logs
5
6.artifacts-autotools: &artifacts-autotools
7 when: always
8 paths:
9 - _build/*.log
10 - _build/*/*.log
11 - _build/*/*/*.log
12
Eric Engestrom7f7c28d2018-09-06 12:10:50 +010013.meson-build: &meson-build
14 - meson _build
15 -D amdgpu=true
16 -D cairo-tests=true
17 -D etnaviv=true
18 -D exynos=true
19 -D freedreno=true
20 -D freedreno-kgsl=true
21 -D intel=true
22 -D libkms=true
23 -D man-pages=true
24 -D nouveau=true
25 -D omap=true
26 -D radeon=true
27 -D tegra=true
28 -D udev=true
29 -D valgrind=true
30 -D vc4=true
31 -D vmwgfx=true
32 - ninja -C _build
33 - ninja -C _build test
34
35.autotools-build: &autotools-build
36 - mkdir _build
37 - cd _build
38 - ../autogen.sh
39 --enable-udev
40 --enable-libkms
41 --enable-intel
42 --enable-radeon
Emil Velikove08b7f22018-09-25 16:15:18 +010043 --enable-amdgpu
Eric Engestrom7f7c28d2018-09-06 12:10:50 +010044 --enable-nouveau
Emil Velikove08b7f22018-09-25 16:15:18 +010045 --enable-vmwgfx
Eric Engestrom7f7c28d2018-09-06 12:10:50 +010046 --enable-omap-experimental-api
47 --enable-exynos-experimental-api
48 --enable-freedreno
49 --enable-freedreno-kgsl
50 --enable-tegra-experimental-api
51 --enable-vc4
52 --enable-etnaviv-experimental-api
53 - make
54 - make check
55
Eric Engestrom4a9030d2018-08-30 15:51:40 +010056latest-meson:
57 stage: build
Eric Engestrom1592d472019-02-19 11:49:28 +000058 image: archlinux/base:latest
Eric Engestrom4a9030d2018-08-30 15:51:40 +010059 before_script:
60 - pacman -Syu --noconfirm --needed
61 base-devel
62 meson
63 libpciaccess
64 libxslt docbook-xsl
65 valgrind
66 libatomic_ops
67 cairo cunit
Eric Engestrom7f7c28d2018-09-06 12:10:50 +010068 script: *meson-build
Eric Engestrom4a9030d2018-08-30 15:51:40 +010069
70latest-autotools:
71 stage: build
Eric Engestrom1592d472019-02-19 11:49:28 +000072 image: archlinux/base:latest
Daniel Stone946fa212018-09-06 11:01:17 +010073 artifacts: *artifacts-autotools
Eric Engestrom4a9030d2018-08-30 15:51:40 +010074 before_script:
75 - pacman -Syu --noconfirm --needed
76 base-devel
77 libpciaccess
78 libxslt docbook-xsl
79 valgrind
80 libatomic_ops
81 cairo cunit
82 xorg-util-macros
83 git # autogen.sh depends on git
Eric Engestrom7f7c28d2018-09-06 12:10:50 +010084 script: *autotools-build
Eric Engestrom4a9030d2018-08-30 15:51:40 +010085
86oldest-meson:
87 stage: build
88 image: debian:stable
Daniel Stone946fa212018-09-06 11:01:17 +010089 artifacts: *artifacts-meson
Eric Engestrom4a9030d2018-08-30 15:51:40 +010090 before_script:
91 - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
92 'path-exclude=/usr/share/doc/*'
93 'path-exclude=/usr/share/man/*'
94 - printf > /usr/sbin/policy-rc.d "%s\n"
95 '#!/bin/sh'
96 'exit 101'
97 - chmod +x /usr/sbin/policy-rc.d
98 - apt-get update
99 - apt-get -y --no-install-recommends install
100 build-essential
101 pkg-config
102 xsltproc
103 libxslt1-dev docbook-xsl
104 valgrind
105 libatomic-ops-dev
106 libcairo2-dev libcunit1-dev
107 ninja-build
108 python3 python3-pip
109 wget
110 # We need `--no-check-certificate` here because Debian's CA list is
111 # too old to know about LetsEncrypt's CA, so it refuses to connect
112 # to FreeDesktop.org
113 - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
114 wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
115 tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
116 (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
117 - pip3 install wheel setuptools
118 - pip3 install meson==0.43
Eric Engestrom4a9030d2018-08-30 15:51:40 +0100119 - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
120 - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
Eric Engestrom7f7c28d2018-09-06 12:10:50 +0100121 script: *meson-build
Eric Engestrom4a9030d2018-08-30 15:51:40 +0100122
123oldest-autotools:
124 stage: build
125 image: debian:stable
Daniel Stone946fa212018-09-06 11:01:17 +0100126 artifacts: *artifacts-autotools
Eric Engestrom4a9030d2018-08-30 15:51:40 +0100127 before_script:
128 - printf > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft "%s\n"
129 'path-exclude=/usr/share/doc/*'
130 'path-exclude=/usr/share/man/*'
131 - printf > /usr/sbin/policy-rc.d "%s\n"
132 '#!/bin/sh'
133 'exit 101'
134 - chmod +x /usr/sbin/policy-rc.d
135 - apt-get update
136 - apt-get -y --no-install-recommends install
137 build-essential
138 automake
139 autoconf
140 libtool
141 pkg-config
142 xsltproc
143 libxslt1-dev docbook-xsl
144 valgrind
145 libatomic-ops-dev
146 libcairo2-dev libcunit1-dev
147 wget
148 xutils-dev
149 git # autogen.sh depends on git
150 # We need `--no-check-certificate` here because Debian's CA list is
151 # too old to know about LetsEncrypt's CA, so it refuses to connect
152 # to FreeDesktop.org
153 - LIBPCIACCESS_VERSION=libpciaccess-0.10 &&
154 wget --no-check-certificate https://xorg.freedesktop.org/releases/individual/lib/$LIBPCIACCESS_VERSION.tar.bz2 &&
155 tar -jxvf $LIBPCIACCESS_VERSION.tar.bz2 &&
156 (cd $LIBPCIACCESS_VERSION && ./configure --prefix=$HOME/prefix && make install)
Eric Engestrom4a9030d2018-08-30 15:51:40 +0100157 - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
158 - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
Eric Engestrom7f7c28d2018-09-06 12:10:50 +0100159 script: *autotools-build