mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-27 18:16:55 +00:00
18083fb05b
Signed-off-by: utzcoz <utzcoz@outlook.com>
810 lines
23 KiB
YAML
810 lines
23 KiB
YAML
# SPDX-License-Identifier: CC0-1.0
|
|
# SPDX-FileCopyrightText: 2018-2024 Collabora, Ltd. and the Monado contributors
|
|
|
|
###############################################
|
|
# GENERATED - DO NOT EDIT
|
|
# see .gitlab-ci/ci.template, etc instead
|
|
###############################################
|
|
|
|
# workflow:
|
|
# rules:
|
|
# - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
# - if: $CI_PIPELINE_SOURCE == 'push'
|
|
|
|
variables:
|
|
FDO_UPSTREAM_REPO: "monado/monado"
|
|
|
|
include:
|
|
- project: "freedesktop/ci-templates"
|
|
ref: 185ede0e9b9b1924b92306ab8b882a6294e92613
|
|
file:
|
|
- "/templates/debian.yml"
|
|
- "/templates/ubuntu.yml"
|
|
- "/templates/arch.yml"
|
|
- "/templates/alpine.yml"
|
|
# - local: .gitlab-ci/containers/ci-container-prep.yml
|
|
|
|
# This include is for compatibility with the fdo CI restrictions/checks
|
|
# needed due to https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438
|
|
- local: .gitlab-ci/ci-rules.yml
|
|
|
|
stages:
|
|
- container_prep
|
|
- build
|
|
- package
|
|
- reprepro
|
|
- pages
|
|
- deploy
|
|
|
|
###
|
|
# Extra rules for packaging
|
|
.monado.packaging.conditions:
|
|
rules:
|
|
# Only the default branch of the "upstream" repo.
|
|
- if: "$CI_PROJECT_PATH == $FDO_UPSTREAM_REPO && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH"
|
|
when: on_success
|
|
# Otherwise, don't build packages.
|
|
- when: never
|
|
|
|
|
|
###
|
|
###
|
|
# Windows container-related jobs (prep and usage)
|
|
|
|
.monado.common_variables.windows:vs2022:
|
|
inherit:
|
|
default: false
|
|
variables:
|
|
MONADO_WIN_BASE_TAG: "20230422.0"
|
|
MONADO_WIN_MAIN_TAG: "20230422.0"
|
|
MONADO_BASE_IMAGE_PATH: "win2022/vs2022_base"
|
|
MONADO_MAIN_IMAGE_PATH: "win2022/vs2022"
|
|
|
|
.monado.variables.windows:vs2022:
|
|
inherit:
|
|
default: false
|
|
extends:
|
|
- .monado.common_variables.windows:vs2022
|
|
variables:
|
|
MONADO_IMAGE_PATH: "$MONADO_MAIN_IMAGE_PATH"
|
|
FDO_DISTRIBUTION_TAG: "$MONADO_WIN_MAIN_TAG"
|
|
MONADO_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
|
|
MONADO_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
|
|
|
|
# Shared container-building job
|
|
.monado.windows.container_prep:
|
|
inherit:
|
|
default: false
|
|
tags:
|
|
- windows
|
|
- "2022"
|
|
- shell
|
|
variables:
|
|
GIT_STRATEGY: fetch
|
|
extends:
|
|
- .container-rules
|
|
|
|
stage: container_prep
|
|
script:
|
|
- |
|
|
.gitlab-ci\windows\monado_container.ps1 -RegistryUri "$CI_REGISTRY" -RegistryUsername "$CI_REGISTRY_USER" -UserImage "$MONADO_IMAGE" -UpstreamImage "$MONADO_UPSTREAM_IMAGE" -Dockerfile "$DOCKERFILE" -BaseImage "$MONADO_BASE_IMAGE" -BaseUpstreamImage "$MONADO_UPSTREAM_BASE_IMAGE" -Verbose
|
|
|
|
# This container just installs Visual C++ Build Tools.
|
|
win:container_prep:base:
|
|
extends:
|
|
- .monado.windows.container_prep
|
|
- .monado.common_variables.windows:vs2022
|
|
variables:
|
|
DOCKERFILE: Dockerfile.vs2022
|
|
MONADO_IMAGE_PATH: ${MONADO_BASE_IMAGE_PATH}
|
|
FDO_DISTRIBUTION_TAG: "$MONADO_WIN_BASE_TAG"
|
|
MONADO_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
|
|
MONADO_UPSTREAM_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_IMAGE_PATH:$FDO_DISTRIBUTION_TAG"
|
|
|
|
# This container adds other deps
|
|
win:container_prep:
|
|
extends:
|
|
- .monado.windows.container_prep
|
|
- .monado.variables.windows:vs2022
|
|
needs:
|
|
- win:container_prep:base
|
|
variables:
|
|
DOCKERFILE: Dockerfile.build
|
|
MONADO_BASE_IMAGE: "$CI_REGISTRY_IMAGE/$MONADO_BASE_IMAGE_PATH:$MONADO_WIN_BASE_TAG"
|
|
MONADO_UPSTREAM_BASE_IMAGE: "$CI_REGISTRY/$FDO_UPSTREAM_REPO/$MONADO_BASE_IMAGE_PATH:$MONADO_WIN_BASE_TAG"
|
|
|
|
# Base job to use a Windows build container
|
|
.monado.image.windows:
|
|
tags:
|
|
- windows
|
|
- "2022"
|
|
- docker
|
|
extends:
|
|
- .monado.variables.windows:vs2022
|
|
- .build-rules
|
|
image: $MONADO_IMAGE
|
|
|
|
|
|
|
|
# Variables for build and usage of Debian bookworm image
|
|
.monado.variables.debian:bookworm:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "bookworm"
|
|
FDO_DISTRIBUTION_TAG: "2024-04-16"
|
|
|
|
# Variables for build and usage of Debian bullseye image
|
|
.monado.variables.debian:bullseye:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "bullseye"
|
|
FDO_DISTRIBUTION_TAG: "2024-03-21"
|
|
|
|
# Variables for build and usage of Debian bookworm-ndk image
|
|
.monado.variables.debian:bookworm-ndk:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "bookworm"
|
|
FDO_DISTRIBUTION_TAG: "2024-01-16"
|
|
FDO_REPO_SUFFIX: ndk
|
|
|
|
# Variables for build and usage of Ubuntu focal image
|
|
.monado.variables.ubuntu:focal:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "20.04"
|
|
FDO_DISTRIBUTION_TAG: "2024-01-16"
|
|
|
|
# Variables for build and usage of Ubuntu jammy image
|
|
.monado.variables.ubuntu:jammy:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "22.04"
|
|
FDO_DISTRIBUTION_TAG: "2024-04-16"
|
|
|
|
# Variables for build and usage of Ubuntu noble image
|
|
.monado.variables.ubuntu:noble:
|
|
variables:
|
|
FDO_DISTRIBUTION_VERSION: "24.04"
|
|
FDO_DISTRIBUTION_TAG: "2024-05-11"
|
|
|
|
# Variables for build and usage of Arch image
|
|
.monado.variables.arch:
|
|
variables:
|
|
FDO_DISTRIBUTION_TAG: "2024-01-16"
|
|
|
|
# Variables for build and usage of Alpine image
|
|
.monado.variables.alpine:
|
|
variables:
|
|
FDO_DISTRIBUTION_TAG: "2024-01-16"
|
|
|
|
|
|
###
|
|
# Container prep jobs
|
|
# Make Debian bookworm image
|
|
debian:bookworm:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.debian:bookworm
|
|
- .fdo.container-build@debian # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates clang-format cmake codespell curl debhelper devscripts doxygen dput-ng gettext-base git glslang-tools graphviz libbluetooth-dev libbsd-dev libcjson-dev libdbus-1-dev libegl1-mesa-dev libeigen3-dev libgl1-mesa-dev libglvnd-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libhidapi-dev libopencv-dev libsdl2-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libuvc-dev libv4l-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb-randr0-dev libxrandr-dev libxxf86vm-dev ninja-build pandoc patch pipx pkg-config python3 python3-click python3-pip reprepro unzip wayland-protocols wget'
|
|
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/i386_and_proclamation_container_prep.sh'
|
|
|
|
# Make Debian bullseye image
|
|
debian:bullseye:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.debian:bullseye
|
|
- .fdo.container-build@debian # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libbluetooth-dev libbsd-dev libcjson-dev libdbus-1-dev libegl1-mesa-dev libeigen3-dev libgl1-mesa-dev libglvnd-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libhidapi-dev libopencv-dev libsdl2-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libuvc-dev libv4l-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb-randr0-dev libxrandr-dev libxxf86vm-dev ninja-build pandoc patch pkg-config python3 unzip wayland-protocols wget'
|
|
|
|
# Make Debian bookworm-ndk image
|
|
debian:bookworm-ndk:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.debian:bookworm-ndk
|
|
- .fdo.container-build@debian # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'ca-certificates cmake default-jdk-headless git glslang-tools libeigen3-dev meson ninja-build pkg-config python3 unzip wget'
|
|
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/android_container_prep.sh'
|
|
|
|
# Make Ubuntu focal image
|
|
ubuntu:focal:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.ubuntu:focal
|
|
- .fdo.container-build@ubuntu # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libbluetooth-dev libbsd-dev libcjson-dev libdbus-1-dev libegl1-mesa-dev libeigen3-dev libgl1-mesa-dev libglvnd-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libhidapi-dev libopencv-dev libsdl2-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libuvc-dev libv4l-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb-randr0-dev libxrandr-dev libxxf86vm-dev ninja-build pandoc patch pkg-config python3 unzip wayland-protocols wget'
|
|
|
|
# Make Ubuntu jammy image
|
|
ubuntu:jammy:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.ubuntu:jammy
|
|
- .fdo.container-build@ubuntu # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libbluetooth-dev libbsd-dev libcjson-dev libdbus-1-dev libegl1-mesa-dev libeigen3-dev libgl1-mesa-dev libglvnd-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libhidapi-dev libopencv-dev libsdl2-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libuvc-dev libv4l-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb-randr0-dev libxrandr-dev libxxf86vm-dev ninja-build pandoc patch pkg-config python3 unzip wayland-protocols wget'
|
|
|
|
# Make Ubuntu noble image
|
|
ubuntu:noble:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.ubuntu:noble
|
|
- .fdo.container-build@ubuntu # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libbluetooth-dev libbsd-dev libcjson-dev libdbus-1-dev libegl1-mesa-dev libeigen3-dev libgl1-mesa-dev libglvnd-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libhidapi-dev libopencv-dev libsdl2-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libuvc-dev libv4l-dev libvulkan-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb-randr0-dev libxrandr-dev libxxf86vm-dev ninja-build pandoc patch pkg-config python3 unzip wayland-protocols wget'
|
|
|
|
# Make Arch image
|
|
arch:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.arch
|
|
- .fdo.container-build@arch # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'base-devel bc bluez-libs boost check clang cmake diffutils doxygen eigen fmt gcc git glew glfw-x11 glslang glu graphviz gtest gtk3 hidapi libbsd libusb libxrandr mesa meson ninja opencv patch pipewire-jack pkgconfig python-attrs python-setuptools python3 qt6-base v4l-utils vulkan-headers vulkan-icd-loader wayland wget wireplumber'
|
|
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/install-arch-additional-deps.sh'
|
|
|
|
# Make Alpine image
|
|
alpine:container_prep:
|
|
stage: container_prep
|
|
extends:
|
|
- .container-rules
|
|
- .monado.variables.alpine
|
|
- .fdo.container-build@alpine # from ci-templates
|
|
|
|
variables:
|
|
FDO_DISTRIBUTION_PACKAGES: 'build-base cmake cmd:glslangValidator cmd:wayland-scanner doxygen eigen-dev eudev-dev graphviz libjpeg-turbo-dev libsurvive-dev libxrandr-dev mesa-dev opencv-dev openhmd-dev samurai sdl2-dev v4l-utils-dev vulkan-loader-dev wayland-dev wayland-protocols zlib-dev'
|
|
|
|
|
|
###
|
|
# Container usage base jobs
|
|
|
|
# Base for using Debian bookworm image
|
|
.monado.image.debian:bookworm:
|
|
extends:
|
|
- .monado.variables.debian:bookworm
|
|
- .fdo.distribution-image@debian # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Debian bullseye image
|
|
.monado.image.debian:bullseye:
|
|
extends:
|
|
- .monado.variables.debian:bullseye
|
|
- .fdo.distribution-image@debian # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Debian bookworm-ndk image
|
|
.monado.image.debian:bookworm-ndk:
|
|
extends:
|
|
- .monado.variables.debian:bookworm-ndk
|
|
- .fdo.suffixed-image@debian # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Ubuntu focal image
|
|
.monado.image.ubuntu:focal:
|
|
extends:
|
|
- .monado.variables.ubuntu:focal
|
|
- .fdo.distribution-image@ubuntu # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Ubuntu jammy image
|
|
.monado.image.ubuntu:jammy:
|
|
extends:
|
|
- .monado.variables.ubuntu:jammy
|
|
- .fdo.distribution-image@ubuntu # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Ubuntu noble image
|
|
.monado.image.ubuntu:noble:
|
|
extends:
|
|
- .monado.variables.ubuntu:noble
|
|
- .fdo.distribution-image@ubuntu # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Arch image
|
|
.monado.image.arch:
|
|
extends:
|
|
- .monado.variables.arch
|
|
- .fdo.distribution-image@arch # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
# Base for using Alpine image
|
|
.monado.image.alpine:
|
|
extends:
|
|
- .monado.variables.alpine
|
|
- .fdo.distribution-image@alpine # from ci-templates
|
|
- .build-rules
|
|
|
|
|
|
|
|
# Style check job
|
|
format-and-spellcheck:
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
|
|
stage: build
|
|
script:
|
|
- scripts/format-and-spellcheck.sh
|
|
artifacts:
|
|
paths:
|
|
- patches/
|
|
expire_in: 1 week
|
|
when: on_failure
|
|
|
|
# Verify REUSE compliance
|
|
reuse:
|
|
extends:
|
|
- .build-rules
|
|
stage: build
|
|
image:
|
|
name: fsfe/reuse:latest
|
|
entrypoint: [""]
|
|
script:
|
|
- reuse lint
|
|
|
|
|
|
debian:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.packaging.conditions
|
|
- .monado.image.debian:bookworm
|
|
before_script:
|
|
- pushd doc/changes
|
|
- proclamation build vNEXT
|
|
- popd
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DBUILD_DOC=ON
|
|
- cd build && ctest --output-on-failure
|
|
artifacts:
|
|
paths:
|
|
- build/doc/html/
|
|
|
|
debian:cmake-no-opencv:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DXRT_HAVE_OPENCV=OFF
|
|
- cd build && ctest --output-on-failure
|
|
|
|
debian:cmake-no-sdl2:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DXRT_HAVE_SDL2=OFF
|
|
- cd build && ctest --output-on-failure
|
|
|
|
debian:cmake-no-service:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DXRT_FEATURE_SERVICE=OFF
|
|
- cd build && ctest --output-on-failure
|
|
|
|
debian:cmake:32bit:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DCMAKE_TOOLCHAIN_FILE=.gitlab-ci/i386.cmake -DXRT_HAVE_OPENCV=OFF
|
|
- cd build && ctest --output-on-failure
|
|
|
|
debian:bullseye:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bullseye
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
ndk:armeabi-v7a:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DANDROID_ABI=armeabi-v7a -DANDROID_PLATFORM=26 -DCMAKE_TOOLCHAIN_FILE=/opt/android-ndk/build/cmake/android.toolchain.cmake -DEigen3_DIR=/usr/lib/cmake/eigen3/ -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3
|
|
|
|
ndk:arm64-v8a:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=26 -DCMAKE_TOOLCHAIN_FILE=/opt/android-ndk/build/cmake/android.toolchain.cmake -DEigen3_DIR=/usr/lib/cmake/eigen3/ -DEIGEN3_INCLUDE_DIR=/usr/include/eigen3
|
|
|
|
android:spotlessCheck:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
before_script:
|
|
# For caching gradle stuff
|
|
- export GRADLE_USER_HOME=`pwd`/.gradlehome
|
|
|
|
variables:
|
|
GRADLE_ARGS: "-Porg.gradle.daemon=false "
|
|
cache:
|
|
paths:
|
|
- .gradlehome/wrapper
|
|
- .gradlehome/caches
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-gradle-build.sh spotlessCheck
|
|
|
|
android:outOfProcessDebug:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
before_script:
|
|
# For caching gradle stuff
|
|
- export GRADLE_USER_HOME=`pwd`/.gradlehome
|
|
|
|
variables:
|
|
GRADLE_ARGS: "-Porg.gradle.daemon=false "
|
|
cache:
|
|
paths:
|
|
- .gradlehome/wrapper
|
|
- .gradlehome/caches
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-gradle-build.sh assembleOutOfProcessDebug
|
|
artifacts:
|
|
paths:
|
|
- src/xrt/targets/openxr_android/build/outputs/apk/outOfProcess
|
|
|
|
android:inProcessDebug:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
before_script:
|
|
# For caching gradle stuff
|
|
- export GRADLE_USER_HOME=`pwd`/.gradlehome
|
|
|
|
variables:
|
|
GRADLE_ARGS: "-Porg.gradle.daemon=false "
|
|
cache:
|
|
paths:
|
|
- .gradlehome/wrapper
|
|
- .gradlehome/caches
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-gradle-build.sh assembleInProcessDebug
|
|
artifacts:
|
|
paths:
|
|
- src/xrt/targets/openxr_android/build/outputs/apk/inProcess
|
|
|
|
android:outOfProcessRelease:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
before_script:
|
|
# For caching gradle stuff
|
|
- export GRADLE_USER_HOME=`pwd`/.gradlehome
|
|
|
|
variables:
|
|
GRADLE_ARGS: "-Porg.gradle.daemon=false "
|
|
cache:
|
|
paths:
|
|
- .gradlehome/wrapper
|
|
- .gradlehome/caches
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-gradle-build.sh assembleOutOfProcessRelease
|
|
artifacts:
|
|
paths:
|
|
- src/xrt/targets/openxr_android/build/outputs/apk/outOfProcess
|
|
|
|
android:inProcessRelease:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.debian:bookworm-ndk
|
|
before_script:
|
|
# For caching gradle stuff
|
|
- export GRADLE_USER_HOME=`pwd`/.gradlehome
|
|
|
|
variables:
|
|
GRADLE_ARGS: "-Porg.gradle.daemon=false "
|
|
cache:
|
|
paths:
|
|
- .gradlehome/wrapper
|
|
- .gradlehome/caches
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-gradle-build.sh assembleInProcessRelease
|
|
artifacts:
|
|
paths:
|
|
- src/xrt/targets/openxr_android/build/outputs/apk/inProcess
|
|
|
|
ubuntu:focal:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.ubuntu:focal
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
ubuntu:jammy:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.ubuntu:jammy
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
ubuntu:noble:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.ubuntu:noble
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
arch:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.arch
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
arch:cmake:clang:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.arch
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
|
|
- cd build && ctest --output-on-failure
|
|
|
|
alpine:cmake:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.alpine
|
|
script:
|
|
|
|
- .gitlab-ci/prebuild.sh
|
|
- .gitlab-ci/ci-cmake-build.sh
|
|
- cd build && ctest --output-on-failure
|
|
|
|
# Windows build
|
|
windows:
|
|
stage: build
|
|
extends:
|
|
- .monado.image.windows
|
|
script:
|
|
- ./.gitlab-ci/windows/monado_build.ps1 -Install -RunTests
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- install
|
|
- build/Testing/Temporary
|
|
|
|
|
|
|
|
debian:bookworm:package:
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
- .monado.packaging.conditions
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
DEBFULLNAME: "Monado CI"
|
|
DEBEMAIL: "rylie.pavlik@collabora.com"
|
|
DISTRO: debian
|
|
CODENAME: bookworm
|
|
DEB_VERSION_SUFFIX: bpo12
|
|
stage: package
|
|
before_script:
|
|
- git config --global user.name Monado CI
|
|
- git config --global user.email rylie.pavlik@collabora.com
|
|
script:
|
|
- .gitlab-ci/prebuild.sh
|
|
# Prep the source tree
|
|
- git clean -dfx
|
|
# Call this script to build binary and source packages.
|
|
# Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints.
|
|
- .gitlab-ci/build-and-submit-package.sh
|
|
artifacts:
|
|
paths:
|
|
- "incoming/"
|
|
expire_in: 2 days
|
|
|
|
debian:bullseye:package:
|
|
extends:
|
|
- .monado.image.debian:bullseye
|
|
- .monado.packaging.conditions
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
DEBFULLNAME: "Monado CI"
|
|
DEBEMAIL: "rylie.pavlik@collabora.com"
|
|
DISTRO: debian
|
|
CODENAME: bullseye
|
|
DEB_VERSION_SUFFIX: bpo11
|
|
stage: package
|
|
before_script:
|
|
- git config --global user.name Monado CI
|
|
- git config --global user.email rylie.pavlik@collabora.com
|
|
script:
|
|
- .gitlab-ci/prebuild.sh
|
|
# Prep the source tree
|
|
- git clean -dfx
|
|
# Call this script to build binary and source packages.
|
|
# Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints.
|
|
- .gitlab-ci/build-and-submit-package.sh
|
|
artifacts:
|
|
paths:
|
|
- "incoming/"
|
|
expire_in: 2 days
|
|
|
|
ubuntu:focal:package:
|
|
extends:
|
|
- .monado.image.ubuntu:focal
|
|
- .monado.packaging.conditions
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
DEBFULLNAME: "Monado CI"
|
|
DEBEMAIL: "rylie.pavlik@collabora.com"
|
|
DISTRO: ubuntu
|
|
CODENAME: focal
|
|
DEB_VERSION_SUFFIX: ubuntu2004
|
|
stage: package
|
|
before_script:
|
|
- git config --global user.name Monado CI
|
|
- git config --global user.email rylie.pavlik@collabora.com
|
|
script:
|
|
- .gitlab-ci/prebuild.sh
|
|
# Prep the source tree
|
|
- git clean -dfx
|
|
# Call this script to build binary and source packages.
|
|
# Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints.
|
|
- .gitlab-ci/build-and-submit-package.sh
|
|
artifacts:
|
|
paths:
|
|
- "incoming/"
|
|
expire_in: 2 days
|
|
|
|
ubuntu:jammy:package:
|
|
extends:
|
|
- .monado.image.ubuntu:jammy
|
|
- .monado.packaging.conditions
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
DEBFULLNAME: "Monado CI"
|
|
DEBEMAIL: "rylie.pavlik@collabora.com"
|
|
DISTRO: ubuntu
|
|
CODENAME: jammy
|
|
DEB_VERSION_SUFFIX: ubuntu2204
|
|
stage: package
|
|
before_script:
|
|
- git config --global user.name Monado CI
|
|
- git config --global user.email rylie.pavlik@collabora.com
|
|
script:
|
|
- .gitlab-ci/prebuild.sh
|
|
# Prep the source tree
|
|
- git clean -dfx
|
|
# Call this script to build binary and source packages.
|
|
# Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints.
|
|
- .gitlab-ci/build-and-submit-package.sh
|
|
artifacts:
|
|
paths:
|
|
- "incoming/"
|
|
expire_in: 2 days
|
|
|
|
ubuntu:noble:package:
|
|
extends:
|
|
- .monado.image.ubuntu:noble
|
|
- .monado.packaging.conditions
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
DEBFULLNAME: "Monado CI"
|
|
DEBEMAIL: "rylie.pavlik@collabora.com"
|
|
DISTRO: ubuntu
|
|
CODENAME: noble
|
|
DEB_VERSION_SUFFIX: ubuntu2404
|
|
stage: package
|
|
before_script:
|
|
- git config --global user.name Monado CI
|
|
- git config --global user.email rylie.pavlik@collabora.com
|
|
script:
|
|
- .gitlab-ci/prebuild.sh
|
|
# Prep the source tree
|
|
- git clean -dfx
|
|
# Call this script to build binary and source packages.
|
|
# Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints.
|
|
- .gitlab-ci/build-and-submit-package.sh
|
|
artifacts:
|
|
paths:
|
|
- "incoming/"
|
|
expire_in: 2 days
|
|
|
|
reprepro:package:
|
|
stage: reprepro
|
|
extends:
|
|
- .monado.image.debian:bookworm
|
|
|
|
- .monado.packaging.conditions
|
|
needs:
|
|
- debian:bookworm:package
|
|
- debian:bullseye:package
|
|
- ubuntu:focal:package
|
|
- ubuntu:jammy:package
|
|
- ubuntu:noble:package
|
|
script:
|
|
- bash .gitlab-ci/reprepro.sh
|
|
artifacts:
|
|
paths:
|
|
- "repo/"
|
|
expire_in: 2 days
|
|
|
|
###
|
|
# Pages
|
|
###
|
|
pages:
|
|
stage: pages
|
|
extends:
|
|
- .monado.packaging.conditions
|
|
needs:
|
|
- debian:cmake
|
|
- reprepro:package
|
|
script:
|
|
- mkdir -p public
|
|
- mv build/doc/html/* public/
|
|
- mv repo public/apt
|
|
artifacts:
|
|
paths:
|
|
- public
|