OSDN Git Service

amdgpu: Add amdgpu_cs_syncobj_transfer to amdgpu-symbol-check
[android-x86/external-libdrm.git] / .gitlab-ci.yml
1 .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
13 .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
43       --enable-amdgpu
44       --enable-nouveau
45       --enable-vmwgfx
46       --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
56 latest-meson:
57   stage: build
58   image: archlinux/base:latest
59   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
68   script: *meson-build
69
70 latest-autotools:
71   stage: build
72   image: archlinux/base:latest
73   artifacts: *artifacts-autotools
74   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
84   script: *autotools-build
85
86 oldest-meson:
87   stage: build
88   image: debian:stable
89   artifacts: *artifacts-meson
90   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
119     - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
120     - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
121   script: *meson-build
122
123 oldest-autotools:
124   stage: build
125   image: debian:stable
126   artifacts: *artifacts-autotools
127   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)
157     - export PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig:$HOME/prefix/share/pkgconfig
158     - export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
159   script: *autotools-build