2022-01-21 18:24:20 +00:00
|
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
# SPDX-FileCopyrightText: 2018-2022 Collabora, Ltd. and the Monado contributors
|
|
|
|
|
|
|
|
# Please run the following from the repo root after modifying this file:
|
|
|
|
# make -f .gitlab-ci/ci-scripts.mk
|
|
|
|
|
|
|
|
fdo_ci_templates_sha: 34039cd573a2df832d465bc9e4c5f543571f5241
|
|
|
|
|
|
|
|
# These are a mapping, instead of a list/array, so we can merge.
|
|
|
|
.default_debian_packages:
|
|
|
|
&default_debian_packages # Packages required for build and some other basic jobs
|
|
|
|
build-essential:
|
|
|
|
git:
|
|
|
|
wget:
|
|
|
|
unzip:
|
|
|
|
cmake:
|
|
|
|
ninja-build:
|
|
|
|
libeigen3-dev:
|
|
|
|
curl:
|
|
|
|
patch:
|
|
|
|
python3:
|
|
|
|
pkg-config:
|
|
|
|
libx11-dev:
|
|
|
|
libx11-xcb-dev:
|
|
|
|
libxxf86vm-dev:
|
|
|
|
libxrandr-dev:
|
|
|
|
libxcb-randr0-dev:
|
|
|
|
libvulkan-dev:
|
|
|
|
glslang-tools:
|
|
|
|
libglvnd-dev:
|
|
|
|
libgl1-mesa-dev:
|
|
|
|
ca-certificates:
|
|
|
|
libusb-1.0-0-dev:
|
|
|
|
libudev-dev:
|
|
|
|
# These are optional packages, that we're building against to ensure we build as much code as possible
|
|
|
|
libhidapi-dev:
|
|
|
|
libwayland-dev:
|
|
|
|
libuvc-dev:
|
|
|
|
libavcodec-dev:
|
|
|
|
libopencv-dev:
|
|
|
|
libv4l-dev:
|
|
|
|
libcjson-dev:
|
|
|
|
libsdl2-dev:
|
|
|
|
libegl1-mesa-dev:
|
|
|
|
libdbus-1-dev:
|
|
|
|
libgstreamer1.0-dev:
|
|
|
|
libgstreamer-plugins-base1.0-dev:
|
|
|
|
libsystemd-dev:
|
|
|
|
libbsd-dev:
|
|
|
|
# Only used for building packages
|
|
|
|
devscripts:
|
|
|
|
debhelper:
|
|
|
|
dput-ng:
|
|
|
|
gettext-base:
|
|
|
|
pandoc:
|
|
|
|
|
|
|
|
# These config defines are used for all NDK builds
|
|
|
|
.android_cmake_defines: &android_cmake_defines
|
|
|
|
ANDROID_PLATFORM: 26
|
|
|
|
CMAKE_TOOLCHAIN_FILE: /opt/android-ndk/build/cmake/android.toolchain.cmake
|
|
|
|
Eigen3_DIR: /usr/lib/cmake/eigen3/
|
|
|
|
EIGEN3_INCLUDE_DIR: /usr/include/eigen3
|
|
|
|
|
|
|
|
# The distributions we'll make an image for
|
|
|
|
distributions:
|
|
|
|
- name: debian
|
|
|
|
images:
|
|
|
|
# This image does some extra work.
|
|
|
|
- codename: bullseye
|
|
|
|
script: i386_and_proclamation_container_prep.sh
|
2022-03-09 23:03:55 +00:00
|
|
|
tag: "2022-04-22.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
deb_version_suffix: bpo11
|
|
|
|
packages:
|
|
|
|
<<: *default_debian_packages
|
|
|
|
codespell:
|
|
|
|
doxygen:
|
|
|
|
graphviz:
|
|
|
|
python3-pip:
|
|
|
|
python3-click:
|
|
|
|
clang-format:
|
|
|
|
build_jobs:
|
|
|
|
- name: "debian:cmake"
|
|
|
|
# Generate "changes since last release" and add to changelog,
|
|
|
|
# since this is the build that makes our docs.
|
|
|
|
before_script:
|
|
|
|
- pushd doc/changes
|
|
|
|
- proclamation build --overwrite vNEXT
|
|
|
|
- popd
|
|
|
|
artifact_path: build/doc/html/
|
|
|
|
|
|
|
|
- name: "debian:cmake-no-opencv"
|
|
|
|
cmake_defines:
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
XRT_HAVE_OPENCV: "OFF"
|
|
|
|
|
|
|
|
- name: "debian:cmake-no-sdl2"
|
|
|
|
cmake_defines:
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
XRT_HAVE_SDL2: "OFF"
|
|
|
|
|
|
|
|
- name: "debian:cmake-no-service"
|
|
|
|
cmake_defines:
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
XRT_FEATURE_SERVICE: "OFF"
|
|
|
|
|
|
|
|
- name: "debian:cmake:32bit"
|
|
|
|
cmake_defines:
|
|
|
|
CMAKE_TOOLCHAIN_FILE: .gitlab-ci/i386.cmake
|
|
|
|
# OpenCV doesn't play nicely with us in multi-arch.
|
|
|
|
XRT_HAVE_OPENCV: "OFF"
|
|
|
|
|
|
|
|
# This one is pretty minimal, compared to the others.
|
2022-01-20 20:32:25 +00:00
|
|
|
# Though, we now install the android SDK in it...
|
2022-01-21 18:24:20 +00:00
|
|
|
- codename: bullseye-ndk
|
|
|
|
distro_version: bullseye
|
|
|
|
repo_suffix: ndk
|
2022-01-20 20:32:25 +00:00
|
|
|
script: android_container_prep.sh
|
2022-03-16 20:27:21 +00:00
|
|
|
tag: "2022-03-16.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
packages:
|
|
|
|
git:
|
|
|
|
wget:
|
|
|
|
unzip:
|
|
|
|
cmake:
|
|
|
|
meson:
|
|
|
|
ninja-build:
|
|
|
|
libeigen3-dev:
|
|
|
|
python3:
|
|
|
|
pkg-config:
|
|
|
|
ca-certificates:
|
|
|
|
glslang-tools:
|
2022-01-20 20:32:25 +00:00
|
|
|
default-jdk-headless:
|
2022-01-21 18:24:20 +00:00
|
|
|
build_jobs:
|
|
|
|
- name: "ndk:armeabi-v7a"
|
|
|
|
cmake_defines:
|
|
|
|
<<: *android_cmake_defines
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
ANDROID_ABI: armeabi-v7a
|
|
|
|
|
|
|
|
- name: "ndk:arm64-v8a"
|
|
|
|
cmake_defines:
|
|
|
|
<<: *android_cmake_defines
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
ANDROID_ABI: arm64-v8a
|
|
|
|
|
2022-01-25 19:35:31 +00:00
|
|
|
- name: android:outOfProcess
|
|
|
|
target: assembleOutOfProcessDebug
|
|
|
|
artifact_path: src/xrt/targets/openxr_android/build/outputs/apk/outOfProcess
|
|
|
|
|
|
|
|
- name: android:inProcess
|
|
|
|
target: assembleInProcessDebug
|
2022-06-02 16:21:16 +00:00
|
|
|
artifact_path: src/xrt/targets/openxr_android/build/outputs/apk/inProcess
|
2022-01-25 19:35:31 +00:00
|
|
|
|
2022-01-21 18:24:20 +00:00
|
|
|
- name: ubuntu
|
|
|
|
images:
|
|
|
|
# LTS
|
|
|
|
- codename: focal
|
|
|
|
distro_version: "20.04"
|
2022-03-09 23:03:55 +00:00
|
|
|
tag: "2022-04-22.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
deb_version_suffix: ubuntu2004
|
|
|
|
packages:
|
|
|
|
<<: *default_debian_packages
|
|
|
|
build_jobs:
|
|
|
|
- name: "ubuntu:cmake"
|
|
|
|
cmake_defines:
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
|
|
|
|
- codename: hirsute
|
|
|
|
distro_version: "21.04"
|
2022-03-09 23:03:55 +00:00
|
|
|
tag: "2022-04-22.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
deb_version_suffix: ubuntu2104
|
|
|
|
packages:
|
|
|
|
<<: *default_debian_packages
|
|
|
|
|
|
|
|
- codename: impish
|
|
|
|
distro_version: "21.10"
|
2022-03-09 23:03:55 +00:00
|
|
|
tag: "2022-04-22.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
deb_version_suffix: ubuntu2110
|
|
|
|
packages:
|
|
|
|
<<: *default_debian_packages
|
|
|
|
reprepro:
|
|
|
|
build_jobs:
|
|
|
|
- name: "ubuntu:latest:cmake"
|
|
|
|
cmake_defines:
|
|
|
|
BUILD_DOC: "OFF"
|
|
|
|
|
|
|
|
- name: arch
|
|
|
|
images:
|
|
|
|
- codename: rolling
|
2022-03-09 23:03:55 +00:00
|
|
|
tag: "2022-04-22.0"
|
2022-01-21 18:24:20 +00:00
|
|
|
packages:
|
|
|
|
git:
|
|
|
|
gcc:
|
|
|
|
clang:
|
|
|
|
cmake:
|
|
|
|
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:
|
|
|
|
build_jobs:
|
|
|
|
- name: "arch:cmake"
|
|
|
|
|
|
|
|
- name: "arch:cmake:clang"
|
|
|
|
cmake_defines:
|
|
|
|
CMAKE_C_COMPILER: /usr/bin/clang
|
|
|
|
CMAKE_CXX_COMPILER: /usr/bin/clang++
|
|
|
|
|
|
|
|
android:
|
|
|
|
platform: 26
|
|
|
|
|
|
|
|
packaging:
|
|
|
|
# Name and email associated with the package
|
|
|
|
name: "Monado CI"
|
|
|
|
email: "ryan.pavlik@collabora.com"
|