summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: cf882797d40f2133300e701602dda3b5767ac1d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
image: debian:stretch

stages:
  - build

before_script:
  - echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
  - echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
  - echo 'exit 101' >> /usr/sbin/policy-rc.d
  - chmod +x /usr/sbin/policy-rc.d
  - echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
  - apt-get update
  - apt-get -y --no-install-recommends install build-essential automake autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libevdev-dev libinput-dev libwebp-dev libjpeg-dev libva-dev liblcms2-dev git libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev freerdp2-dev curl python3-pip python3-setuptools ninja-build
  - pip3 install --user git+https://github.com/mesonbuild/meson.git@0.49
  - mkdir -p /tmp/.X11-unix
  - chmod 777 /tmp/.X11-unix

build-native-autotools:
  stage: build
  script:
  - git clone --depth=1 git://anongit.freedesktop.org/git/wayland/wayland-protocols
  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
  - export PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
  - export MAKEFLAGS="-j4"
  - cd wayland-protocols
  - git show -s HEAD
  - mkdir build
  - cd build
  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
  - make install
  - cd ../../
  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
  - mkdir "$BUILDDIR" "$PREFIX"
  - cd "$BUILDDIR"
  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install --enable-xwayland --enable-x11-compositor --enable-drm-compositor --enable-wayland-compositor --enable-headless-compositor --enable-fbdev-compositor --enable-rdp-compositor --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients --enable-simple-egl-clients --enable-simple-dmabuf-drm-client --enable-simple-dmabuf-v4l-client --enable-clients --enable-resize-optimization --enable-weston-launch --enable-fullscreen-shell --enable-colord --enable-dbus --enable-systemd-login --enable-junit-xml --enable-ivi-shell --enable-wcap-tools --disable-libunwind --enable-demo-clients-install --enable-lcms --with-cairo=image --enable-remoting --enable-autotools
  - make all
  - make check
  - make install
  - make distcheck
  artifacts:
    name: weston-$CI_COMMIT_SHA-$CI_JOB_ID
    when: always
    paths:
    - build-*/weston-*.tar.xz
    - build-*/*.log
    - build-*/logs
    - prefix-*

build-native-meson:
  stage: build
  script:
  - git clone --depth=1 git://anongit.freedesktop.org/git/wayland/wayland-protocols
  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
  - export PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
  - export MAKEFLAGS="-j4"
  - cd wayland-protocols
  - git show -s HEAD
  - mkdir build
  - cd build
  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
  - make install
  - cd ../../
  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
  - export PATH=~/.local/bin:$PATH
  - mkdir "$BUILDDIR" "$PREFIX"
  - cd "$BUILDDIR"
  - meson --prefix="$PREFIX" -Dsimple-dmabuf-drm=intel ..
  - ninja -k0
  - ninja install
  - ninja test
  - ninja clean
  artifacts:
    name: weston-$CI_COMMIT_SHA-$CI_JOB_ID
    when: always
    paths:
    - build-*/meson-logs
    - prefix-*