Add GitLab CI pipeline

Add a GitLab CI build pipeline, using the two-stage CI templates from
Wayland. This allows us to do really quick builds of Monado itself,
insulating ourselves from the longer and more failure-prone parts of
pulling and building our dependencies.
This commit is contained in:
Daniel Stone 2019-03-19 08:04:39 +00:00 committed by Jakob Bornecrantz
parent b8c5ba4bc9
commit 23df51d14b
2 changed files with 51 additions and 0 deletions

29
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,29 @@
variables:
UPSTREAM_REPO: monado/monado
DEBIAN_VERSION: buster
DEBIAN_TAG: '2019-03-19.0'
DEBIAN_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG
DEBIAN_DEBS: build-essential git cmake meson ninja-build doxygen graphviz libeigen3-dev curl patch python3 pkg-config libx11-dev libxxf86vm-dev libxrandr-dev libxcb-randr0-dev libhidapi-dev libwayland-dev libvulkan-dev glslang-dev glslang-tools libglvnd-dev libgl1-mesa-dev ca-certificates
DEBIAN_EXEC: 'bash .gitlab-ci/build-openxr-openhmd.sh'
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-cmake:
stage: build
image: $DEBIAN_CONTAINER_IMAGE
script:
- mkdir build
- pushd build
- cmake -GNinja ..
- ninja

View file

@ -0,0 +1,22 @@
#!/bin/sh
# Install the OpenXR SDK, whatever version, with @haagch's patch so we can
# actually install it system-wide.
git clone https://github.com/KhronosGroup/OpenXR-SDK
pushd OpenXR-SDK
curl 'https://aur.archlinux.org/cgit/aur.git/plain/support_installing_the_loader.diff?h=openxr-loader-git' | patch -p1
mkdir build
pushd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=Off -DPRESENTATION_BACKEND=xlib -DDYNAMIC_LOADER=ON -DOpenGL_GL_PREFERENCE=GLVND -GNinja ..
ninja install
popd
popd
# Install OpenHMD from git master, as released versions are not sufficient
# for us to build.
git clone https://github.com/OpenHMD/OpenHMD
pushd OpenHMD
mkdir build
meson --prefix=/usr/local --libdir=lib build
ninja -C build install
popd