OSDN Git Service

Revert "tests/amdgpu: Fix various warnings"
[android-x86/external-libdrm.git] / .gitlab-ci.yml
1 # This is the tag of the docker image used for the build jobs. If the
2 # image doesn't exist yet, the containers stage generates it.
3 #
4 # In order to generate a new image, one should generally change the tag.
5 # While removing the image from the registry would also work, that's not
6 # recommended except for ephemeral images during development: Replacing
7 # an image after a significant amount of time might pull in newer
8 # versions of gcc/clang or other packages, which might break the build
9 # with older commits using the same tag.
10 #
11 # After merging a change resulting in generating a new image to the
12 # main repository, it's recommended to remove the image from the source
13 # repository's container registry, so that the image from the main
14 # repository's registry will be used there as well.
15 variables:
16   UPSTREAM_REPO: mesa/drm
17   DEBIAN_TAG: "2019-11-16"
18   DEBIAN_VERSION: buster-slim
19   DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
20
21 include:
22   - project: 'wayland/ci-templates'
23     ref: 0a9bdd33a98f05af6761ab118b5074952242aab0
24     file: '/templates/debian.yml'
25
26 stages:
27   - containers
28   - build
29
30
31 # When & how to run the CI
32 .ci-run-policy:
33   except:
34     - schedules
35   retry:
36     max: 2
37     when:
38       - runner_system_failure
39
40 # CONTAINERS
41
42 debian:
43   stage: containers
44   extends:
45     - .ci-run-policy
46     - .debian@container-ifnot-exists
47   variables:
48     GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
49     DEBIAN_EXEC: 'bash .gitlab-ci/debian-install.sh'
50
51
52 # BUILD
53
54 .meson-build:
55   stage: build
56   variables:
57     GIT_DEPTH: 10
58   script:
59     - meson build
60         -D amdgpu=true
61         -D cairo-tests=true
62         -D etnaviv=true
63         -D exynos=true
64         -D freedreno=true
65         -D freedreno-kgsl=true
66         -D intel=true
67         -D libkms=true
68         -D man-pages=true
69         -D nouveau=true
70         -D omap=true
71         -D radeon=true
72         -D tegra=true
73         -D udev=true
74         -D valgrind=auto
75         -D vc4=true
76         -D vmwgfx=true
77         ${CROSS+--cross /cross_file-$CROSS.txt}
78     - ninja -C build
79     - ninja -C build test
80     - DESTDIR=$PWD/install ninja -C build install
81   artifacts:
82     when: on_failure
83     paths:
84       - build/meson-logs/*
85
86 meson-x86_64:
87   extends:
88     - .ci-run-policy
89     - .meson-build
90   image: $DEBIAN_IMAGE
91   needs:
92     - debian
93
94 meson-i386:
95   extends: meson-x86_64
96   variables:
97     CROSS: i386
98
99 meson-aarch64:
100   extends: meson-x86_64
101   variables:
102     CROSS: arm64
103
104 meson-armhf:
105   extends: meson-x86_64
106   variables:
107     CROSS: armhf
108
109 meson-ppc64el:
110   extends: meson-x86_64
111   variables:
112     CROSS: ppc64el
113
114 meson-arch-daily:
115   rules:
116     - if: '$SCHEDULE == "arch-daily"'
117       when: on_success
118     - when: never
119   image: archlinux/base
120   before_script:
121     - pacman -Syu --noconfirm --needed
122         base-devel
123         cairo
124         cunit
125         docbook-xsl
126         libatomic_ops
127         libpciaccess
128         libxslt
129         meson
130         valgrind
131   extends: .meson-build