summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 02c38b964477e7ae12dcdd43540ccddee4a329e4 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:

variables:
  FDO_UPSTREAM_REPO: wayland/weston


include:
  - project: 'freedesktop/ci-templates'
    ref: 59de540b620c45739871d1a073d76d5521989d11
    file: '/templates/debian.yml'


stages:
  - container_prep
  - build
  - pages


.debian:
  variables:
    FDO_DISTRIBUTION_VERSION: buster
    FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/debian-install.sh'
    FDO_DISTRIBUTION_TAG: '2020-06-24.0'


container_prep:
  extends:
    - .debian
    - .fdo.container-build@debian
  stage: container_prep


.build-native:
  extends:
    - .debian
    - .fdo.distribution-image@debian
  stage: build
  before_script:
  - git clone --depth=1 https://gitlab.freedesktop.org/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"
  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
  - export TESTS_RES_PATH="$BUILDDIR/tests-res.txt"
  - mkdir "$BUILDDIR" "$PREFIX"

.build-native-meson:
  extends: .build-native
  tags:
    - kvm
  script:
  - export PATH=~/.local/bin:$PATH
  - cd "$BUILDDIR"
  - meson --prefix="$PREFIX" ${MESON_OPTIONS} ..
  - ninja -k0
  - ninja install
  - virtme-run --rw --pwd --kimg /weston-virtme/bzImage --script-dir ../.gitlab-ci/virtme-scripts
  - TEST_RES=$(cat $TESTS_RES_PATH)
  - rm $TESTS_RES_PATH
  - ninja clean
  - cp -R /weston-virtme ./
  - rm weston-virtme/bzImage
  - exit $TEST_RES
  artifacts:
    name: weston-$CI_COMMIT_SHA
    when: always
    paths:
    - build-*/meson-logs
    - build-*/weston-virtme
    - prefix-*

build-native-meson-default-options:
  variables:
    MESON_OPTIONS: >
      -Dwerror=true
      -Ddoc=true
  extends: .build-native-meson

build-native-meson-no-gl-renderer:
  variables:
    MESON_OPTIONS: >
      -Dsimple-clients=damage,im,shm,touch,dmabuf-v4l
      -Drenderer-gl=false
      -Dremoting=false
      -Dwerror=true
  extends: .build-native-meson

pages:
  stage: pages
  dependencies:
    - build-native-meson-default-options
  script:
  - export PREFIX=$(pwd)/prefix-weston-build-native-meson-default-options
  - mkdir public
  - cp -R $PREFIX/share/doc/weston/* public/
  artifacts:
    paths:
    - public
  only:
    - master