# 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 tag: "2022-04-22.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" # This one is pretty minimal, compared to the others. # Though, we now install the android SDK in it... - codename: bullseye-ndk distro_version: bullseye repo_suffix: ndk script: android_container_prep.sh tag: "2022-03-16.0" packages: git: wget: unzip: cmake: meson: ninja-build: libeigen3-dev: python3: pkg-config: ca-certificates: glslang-tools: default-jdk-headless: 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: android:outOfProcess target: assembleOutOfProcessDebug artifact_path: src/xrt/targets/openxr_android/build/outputs/apk/outOfProcess - name: android:inProcess target: assembleInProcessDebug artifact_path: src/xrt/targets/openxr_android/build/outputs/apk/inProcess - name: ubuntu images: # LTS - codename: focal distro_version: "20.04" tag: "2022-04-22.0" deb_version_suffix: ubuntu2004 packages: <<: *default_debian_packages build_jobs: - name: "ubuntu:cmake" cmake_defines: BUILD_DOC: "OFF" - codename: hirsute distro_version: "21.04" tag: "2022-04-22.0" deb_version_suffix: ubuntu2104 packages: <<: *default_debian_packages - codename: impish distro_version: "21.10" tag: "2022-04-22.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-04-22.0" 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"