monado/.gitlab-ci.yml

102 lines
2.5 KiB
YAML

variables:
UPSTREAM_REPO: monado/monado
DEBIAN_TAG: '2019-11-05.0'
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 libusb-1.0-0-dev libuvc-dev libavcodec-dev libopencv-dev libudev-dev clang-format-7 codespell libv4l-dev libegl1-mesa-dev'
DEBIAN_EXEC: 'bash .gitlab-ci/build-openxr-openhmd.sh'
DEBIAN_VERSION: buster
DEBIAN_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG
ARCH_TAG: '2019-11-05.1'
ARCH_PKGS: 'git gcc cmake meson ninja pkgconfig python3 diffutils patch doxygen graphviz eigen hidapi libxrandr mesa glslang vulkan-headers vulkan-icd-loader check glfw-x11 libusb opencv gtk3 ffmpeg v4l-utils qt5-base'
ARCH_EXEC: 'bash .gitlab-ci/build-openxr-openhmd.sh'
ARCH_CONTAINER_IMAGE: $CI_REGISTRY_IMAGE/archlinux/rolling:$ARCH_TAG
include:
- project: 'wayland/ci-templates'
ref: c73dae8b84697ef18e2dbbf4fed7386d9652b0cd
file: '/templates/debian.yml'
- project: 'wayland/ci-templates'
ref: 96912c7331cbc6da41fbf22c4217aa541176f063
file: '/templates/arch.yml'
stages:
- container_prep
- build
- pages
- deploy
debian:container_prep:
extends: .debian@container-ifnot-exists
stage: container_prep
arch:container_prep:
extends: .arch@container-ifnot-exists
stage: container_prep
format-and-spellcheck:
stage: build
image: $DEBIAN_CONTAINER_IMAGE
script:
- scripts/format-and-spellcheck.sh
artifacts:
paths:
- patches/
expire_in: 1 week
when: on_failure
debian:build-cmake:
stage: build
image: $DEBIAN_CONTAINER_IMAGE
script:
- mkdir build
- pushd build
- cmake -GNinja ..
- ninja
arch:build-cmake:
stage: build
image: $ARCH_CONTAINER_IMAGE
script:
- mkdir build
- pushd build
- cmake -GNinja ..
- ninja
debian:build-meson:
stage: build
image: $DEBIAN_CONTAINER_IMAGE
script:
- mkdir build
- pushd build
- meson ..
- ninja
artifacts:
paths:
- build/doc/html/
arch:build-meson:
stage: build
image: $ARCH_CONTAINER_IMAGE
script:
- mkdir build
- pushd build
- meson -Ddocs=disabled ..
- ninja
###
# Pages
###
pages:
stage: pages
only:
- master
dependencies:
- debian:build-meson
script:
- mkdir -p public
- mv build/doc/html/* public/
artifacts:
paths:
- public