f6d2760627
Reuse the templates from wayland/ci-templates: whenever DEBIAN_TAG is changed, this will rebuild a new container. This adds two things: - better reliability (we do not randomly pull packages whenever the CI runs and we can reproduce with this particular environment) - faster builds, as we do not need to pull the universe at each run Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> [Pekka: bump DEBIAN_TAG] Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
85 lines
2.6 KiB
YAML
85 lines
2.6 KiB
YAML
# vim: set expandtab shiftwidth=2 tabstop=8 textwidth=0:
|
|
|
|
variables:
|
|
UPSTREAM_REPO: wayland/weston
|
|
DEBIAN_VERSION: stretch
|
|
DEBIAN_EXEC: 'bash .gitlab-ci/debian-install.sh'
|
|
|
|
DEBIAN_TAG: '2019-03-28.0'
|
|
DEBIAN_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG
|
|
|
|
|
|
include:
|
|
- project: 'wayland/ci-templates'
|
|
ref: c73dae8b84697ef18e2dbbf4fed7386d9652b0cd
|
|
file: '/templates/debian.yml'
|
|
|
|
|
|
stages:
|
|
- container_prep
|
|
- build
|
|
|
|
|
|
container_prep:
|
|
extends: .debian@container-ifnot-exists
|
|
stage: container_prep
|
|
|
|
|
|
.build-native:
|
|
stage: build
|
|
image: $DEBIAN_CONTAINER_IMAGE
|
|
before_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"
|
|
|
|
|
|
build-native-autotools:
|
|
extends: .build-native
|
|
script:
|
|
- 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:
|
|
extends: .build-native
|
|
script:
|
|
- export PATH=~/.local/bin:$PATH
|
|
- 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-*
|