mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-29 11:06:18 +00:00
236 lines
5.8 KiB
YAML
236 lines
5.8 KiB
YAML
|
# 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:
|
||
|
meson:
|
||
|
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
|
||
|
tag: "2022-01-24.0"
|
||
|
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"
|
||
|
|
||
|
- name: "debian:meson"
|
||
|
|
||
|
- name: "debian:meson:32bit"
|
||
|
args:
|
||
|
- --prefix=/usr
|
||
|
- --libdir=/usr/lib/i386-linux-gnu
|
||
|
- --cross-file=.gitlab-ci/i386-cross.txt
|
||
|
|
||
|
# This one is pretty minimal, compared to the others.
|
||
|
- codename: bullseye-ndk
|
||
|
distro_version: bullseye
|
||
|
repo_suffix: ndk
|
||
|
script: ndk_container_prep.sh
|
||
|
tag: "2022-01-24.0"
|
||
|
packages:
|
||
|
git:
|
||
|
wget:
|
||
|
unzip:
|
||
|
cmake:
|
||
|
meson:
|
||
|
ninja-build:
|
||
|
libeigen3-dev:
|
||
|
python3:
|
||
|
pkg-config:
|
||
|
ca-certificates:
|
||
|
glslang-tools:
|
||
|
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
|
||
|
|
||
|
- name: ubuntu
|
||
|
images:
|
||
|
# LTS
|
||
|
- codename: focal
|
||
|
distro_version: "20.04"
|
||
|
tag: "2022-01-24.0"
|
||
|
deb_version_suffix: ubuntu2004
|
||
|
packages:
|
||
|
<<: *default_debian_packages
|
||
|
build_jobs:
|
||
|
- name: "ubuntu:cmake"
|
||
|
cmake_defines:
|
||
|
BUILD_DOC: "OFF"
|
||
|
|
||
|
- name: "ubuntu:meson"
|
||
|
|
||
|
- codename: hirsute
|
||
|
distro_version: "21.04"
|
||
|
tag: "2022-01-24.0"
|
||
|
deb_version_suffix: ubuntu2104
|
||
|
packages:
|
||
|
<<: *default_debian_packages
|
||
|
|
||
|
- codename: impish
|
||
|
distro_version: "21.10"
|
||
|
tag: "2022-01-24.0"
|
||
|
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
|
||
|
tag: "2022-01-24.0"
|
||
|
packages:
|
||
|
git:
|
||
|
gcc:
|
||
|
clang:
|
||
|
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:
|
||
|
build_jobs:
|
||
|
- name: "arch:cmake"
|
||
|
|
||
|
- name: "arch:cmake:clang"
|
||
|
cmake_defines:
|
||
|
CMAKE_C_COMPILER: /usr/bin/clang
|
||
|
CMAKE_CXX_COMPILER: /usr/bin/clang++
|
||
|
|
||
|
- name: "arch:meson"
|
||
|
|
||
|
android:
|
||
|
platform: 26
|
||
|
|
||
|
packaging:
|
||
|
# Name and email associated with the package
|
||
|
name: "Monado CI"
|
||
|
email: "ryan.pavlik@collabora.com"
|