The open source OpenXR runtime

ci: Update to move most Debian builds to bookworm, leaving just one basic build on bullseye

authored by

Rylie Pavlik and committed by
Simon Zeni
8a4963f7 f2669149

+136 -43
+75 -12
.gitlab-ci.yml
··· 1 1 # SPDX-License-Identifier: CC0-1.0 2 - # SPDX-FileCopyrightText: 2018-2023 Collabora, Ltd. and the Monado contributors 2 + # SPDX-FileCopyrightText: 2018-2024 Collabora, Ltd. and the Monado contributors 3 3 4 4 ############################################### 5 5 # GENERATED - DO NOT EDIT ··· 126 126 127 127 128 128 129 + # Variables for build and usage of Debian bookworm image 130 + .monado.variables.debian:bookworm: 131 + variables: 132 + FDO_DISTRIBUTION_VERSION: "bookworm" 133 + FDO_DISTRIBUTION_TAG: "2024-03-21.2" 134 + 129 135 # Variables for build and usage of Debian bullseye image 130 136 .monado.variables.debian:bullseye: 131 137 variables: 132 138 FDO_DISTRIBUTION_VERSION: "bullseye" 133 - FDO_DISTRIBUTION_TAG: "2024-01-16" 139 + FDO_DISTRIBUTION_TAG: "2024-03-21" 134 140 135 141 # Variables for build and usage of Debian bookworm-ndk image 136 142 .monado.variables.debian:bookworm-ndk: ··· 164 170 165 171 ### 166 172 # Container prep jobs 173 + # Make Debian bookworm image 174 + debian:bookworm:container_prep: 175 + stage: container_prep 176 + extends: 177 + - .container-rules 178 + - .monado.variables.debian:bookworm 179 + - .fdo.container-build@debian # from ci-templates 180 + 181 + variables: 182 + 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 unzip wayland-protocols wget' 183 + FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/i386_and_proclamation_container_prep.sh' 184 + 167 185 # Make Debian bullseye image 168 186 debian:bullseye:container_prep: 169 187 stage: container_prep ··· 173 191 - .fdo.container-build@debian # from ci-templates 174 192 175 193 variables: 176 - 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 pkg-config python3 python3-click python3-pip unzip wget' 177 - FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/i386_and_proclamation_container_prep.sh' 194 + 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' 178 195 179 196 # Make Debian bookworm-ndk image 180 197 debian:bookworm-ndk:container_prep: ··· 197 214 - .fdo.container-build@ubuntu # from ci-templates 198 215 199 216 variables: 200 - 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 wget' 217 + 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' 201 218 202 219 # Make Ubuntu jammy image 203 220 ubuntu:jammy:container_prep: ··· 208 225 - .fdo.container-build@ubuntu # from ci-templates 209 226 210 227 variables: 211 - 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 reprepro unzip wget' 228 + 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 reprepro unzip wayland-protocols wget' 212 229 213 230 # Make Arch image 214 231 arch:container_prep: ··· 237 254 ### 238 255 # Container usage base jobs 239 256 257 + # Base for using Debian bookworm image 258 + .monado.image.debian:bookworm: 259 + extends: 260 + - .monado.variables.debian:bookworm 261 + - .fdo.distribution-image@debian # from ci-templates 262 + - .build-rules 263 + 264 + 240 265 # Base for using Debian bullseye image 241 266 .monado.image.debian:bullseye: 242 267 extends: ··· 289 314 # Style check job 290 315 format-and-spellcheck: 291 316 extends: 292 - - .monado.image.debian:bullseye 317 + - .monado.image.debian:bookworm 293 318 294 319 stage: build 295 320 script: ··· 316 341 stage: build 317 342 extends: 318 343 - .monado.packaging.conditions 319 - - .monado.image.debian:bullseye 344 + - .monado.image.debian:bookworm 320 345 before_script: 321 346 - pushd doc/changes 322 347 - proclamation build vNEXT ··· 334 359 debian:cmake-no-opencv: 335 360 stage: build 336 361 extends: 337 - - .monado.image.debian:bullseye 362 + - .monado.image.debian:bookworm 338 363 script: 339 364 340 365 - .gitlab-ci/prebuild.sh ··· 344 369 debian:cmake-no-sdl2: 345 370 stage: build 346 371 extends: 347 - - .monado.image.debian:bullseye 372 + - .monado.image.debian:bookworm 348 373 script: 349 374 350 375 - .gitlab-ci/prebuild.sh ··· 354 379 debian:cmake-no-service: 355 380 stage: build 356 381 extends: 357 - - .monado.image.debian:bullseye 382 + - .monado.image.debian:bookworm 358 383 script: 359 384 360 385 - .gitlab-ci/prebuild.sh ··· 364 389 debian:cmake:32bit: 365 390 stage: build 366 391 extends: 392 + - .monado.image.debian:bookworm 393 + script: 394 + 395 + - .gitlab-ci/prebuild.sh 396 + - .gitlab-ci/ci-cmake-build.sh -DCMAKE_TOOLCHAIN_FILE=.gitlab-ci/i386.cmake -DXRT_HAVE_OPENCV=OFF 397 + - cd build && ctest --output-on-failure 398 + 399 + debian:bullseye:cmake: 400 + stage: build 401 + extends: 367 402 - .monado.image.debian:bullseye 368 403 script: 369 404 370 405 - .gitlab-ci/prebuild.sh 371 - - .gitlab-ci/ci-cmake-build.sh -DCMAKE_TOOLCHAIN_FILE=.gitlab-ci/i386.cmake -DXRT_HAVE_OPENCV=OFF 406 + - .gitlab-ci/ci-cmake-build.sh 372 407 - cd build && ctest --output-on-failure 373 408 374 409 ndk:armeabi-v7a: ··· 566 601 567 602 568 603 604 + debian:bookworm:package: 605 + extends: 606 + - .monado.image.debian:bookworm 607 + - .monado.packaging.conditions 608 + variables: 609 + GIT_STRATEGY: clone 610 + DEBFULLNAME: "Monado CI" 611 + DEBEMAIL: "rylie.pavlik@collabora.com" 612 + DISTRO: debian 613 + CODENAME: bookworm 614 + DEB_VERSION_SUFFIX: bpo12 615 + stage: package 616 + before_script: 617 + - git config --global user.name Monado CI 618 + - git config --global user.email rylie.pavlik@collabora.com 619 + script: 620 + - .gitlab-ci/prebuild.sh 621 + # Prep the source tree 622 + - git clean -dfx 623 + # Call this script to build binary and source packages. 624 + # Can try locally by exporting the right variables and passing -B to get only a binary package to avoid complaints. 625 + - .gitlab-ci/build-and-submit-package.sh 626 + artifacts: 627 + paths: 628 + - "incoming/" 629 + expire_in: 2 days 630 + 569 631 debian:bullseye:package: 570 632 extends: 571 633 - .monado.image.debian:bullseye ··· 654 716 655 717 - .monado.packaging.conditions 656 718 needs: 719 + - debian:bookworm:package 657 720 - debian:bullseye:package 658 721 - ubuntu:focal:package 659 722 - ubuntu:jammy:package
+36 -25
.gitlab-ci/config.yml
··· 1 1 # SPDX-License-Identifier: CC0-1.0 2 - # SPDX-FileCopyrightText: 2018-2023 Collabora, Ltd. and the Monado contributors 2 + # SPDX-FileCopyrightText: 2018-2024, Collabora, Ltd. and the Monado contributors 3 3 4 4 # Please run the following from the repo root after modifying this file: 5 5 # make -f .gitlab-ci/ci-scripts.mk ··· 15 15 unzip: 16 16 cmake: 17 17 ninja-build: 18 - libeigen3-dev: 19 18 curl: 20 19 patch: 21 20 python3: 22 21 pkg-config: 22 + ca-certificates: 23 + glslang-tools: 24 + libeigen3-dev: 25 + libgl1-mesa-dev: 26 + libglvnd-dev: 27 + libudev-dev: 28 + libusb-1.0-0-dev: 29 + libvulkan-dev: 23 30 libx11-dev: 24 31 libx11-xcb-dev: 25 - libxxf86vm-dev: 26 - libxrandr-dev: 27 32 libxcb-randr0-dev: 28 - libvulkan-dev: 29 - glslang-tools: 30 - libglvnd-dev: 31 - libgl1-mesa-dev: 32 - ca-certificates: 33 - libusb-1.0-0-dev: 34 - libudev-dev: 33 + libxrandr-dev: 34 + libxxf86vm-dev: 35 + wayland-protocols: 35 36 # These are optional packages, that we're building against to ensure we build as much code as possible 37 + libbluetooth-dev: 38 + libbsd-dev: 39 + libcjson-dev: 40 + libdbus-1-dev: 41 + libegl1-mesa-dev: 42 + libgstreamer-plugins-base1.0-dev: 43 + libgstreamer1.0-dev: 36 44 libhidapi-dev: 37 - libwayland-dev: 38 - libuvc-dev: 39 45 libopencv-dev: 40 - libv4l-dev: 41 - libcjson-dev: 42 46 libsdl2-dev: 43 - libegl1-mesa-dev: 44 - libdbus-1-dev: 45 - libgstreamer1.0-dev: 46 - libgstreamer-plugins-base1.0-dev: 47 47 libsystemd-dev: 48 - libbsd-dev: 49 - libbluetooth-dev: 48 + libuvc-dev: 49 + libv4l-dev: 50 + libwayland-dev: 50 51 # Only used for building packages 52 + debhelper: 51 53 devscripts: 52 - debhelper: 53 54 dput-ng: 54 55 gettext-base: 55 56 pandoc: ··· 69 70 - name: debian 70 71 images: 71 72 # This image does some extra work. 72 - - codename: bullseye 73 + - codename: bookworm 73 74 script: i386_and_proclamation_container_prep.sh 74 - tag: "2024-01-16" 75 - deb_version_suffix: bpo11 75 + tag: "2024-03-21.2" 76 + deb_version_suffix: bpo12 76 77 packages: 77 78 <<: *default_debian_packages 78 79 codespell: 79 80 doxygen: 80 81 graphviz: 82 + pipx: 81 83 python3-pip: 82 84 python3-click: 83 85 clang-format: ··· 110 112 CMAKE_TOOLCHAIN_FILE: .gitlab-ci/i386.cmake 111 113 # OpenCV doesn't play nicely with us in multi-arch. 112 114 XRT_HAVE_OPENCV: "OFF" 115 + 116 + - codename: bullseye 117 + tag: "2024-03-21" 118 + deb_version_suffix: bpo11 119 + packages: 120 + <<: *default_debian_packages 121 + build_jobs: 122 + - name: "debian:bullseye:cmake" 123 + 113 124 114 125 # This one is pretty minimal, compared to the others. 115 126 # Though, we now install the android SDK in it...
+8
.gitlab-ci/distributions
··· 1 + Origin: monado.freedesktop.org 2 + Description: Monado CI apt repository 3 + Codename: bookworm 4 + Architectures: amd64 i386 source 5 + Components: main 6 + Tracking: minimal 7 + SignWith: ${MONADO_GPG_FINGERPRINT} 8 + 1 9 Origin: monado.freedesktop.org 2 10 Description: Monado CI apt repository 3 11 Codename: bullseye
+3 -2
.gitlab-ci/i386_and_proclamation_container_prep.sh
··· 1 1 #!/bin/bash 2 - # Copyright 2018-2022, Collabora, Ltd. and the Monado contributors 2 + # Copyright 2018-2024, Collabora, Ltd. and the Monado contributors 3 3 # SPDX-License-Identifier: BSL-1.0 4 4 5 5 ( ··· 9 9 bash ./install-ci-fairy.sh 10 10 ) 11 11 12 - python3 -m pip install proclamation cmakelang 12 + # Getting the path set up right for pipx in CI is a hassle. 13 + python3 -m pip install --break-system-packages proclamation cmakelang
+11 -1
.gitlab-ci/reprepro.sh
··· 1 1 #!/usr/bin/env bash 2 2 # SPDX-License-Identifier: CC0-1.0 3 - # SPDX-FileCopyrightText: 2018-2022 Collabora, Ltd. and the Monado contributors 3 + # SPDX-FileCopyrightText: 2018-2024 Collabora, Ltd. and the Monado contributors 4 4 5 5 ############################################### 6 6 # GENERATED - DO NOT EDIT # ··· 29 29 echo "---------------------" 30 30 31 31 # For each distro, sign the changes file and add it to the repo. 32 + 33 + # bookworm 34 + if [ -f "incoming/bookworm.distro" ]; then 35 + VERSION=$(cat incoming/bookworm.distro) 36 + echo "Signing and processing bookworm: ${VERSION}" 37 + debsign -k "${MONADO_GPG_FINGERPRINT}" -p "gpg --batch --no-tty --yes --pinentry-mode loopback --passphrase ${MONADO_GPG_PASSPHRASE}" "incoming/monado_${VERSION}_amd64.changes" 38 + reprepro -V --ignore=wrongdistribution -b repo include bookworm "incoming/monado_${VERSION}_amd64.changes" 39 + else 40 + echo "Skipping bookworm - no artifact found" 41 + fi 32 42 33 43 # bullseye 34 44 if [ -f "incoming/bullseye.distro" ]; then
+1 -1
.gitlab-ci/templates/.gitlab-ci.yml.jinja
··· 1 1 # SPDX-License-Identifier: CC0-1.0 2 - # SPDX-FileCopyrightText: 2018-2023 Collabora, Ltd. and the Monado contributors 2 + # SPDX-FileCopyrightText: 2018-2024 Collabora, Ltd. and the Monado contributors 3 3 4 4 {# ignore the warning, this is actually the template to edit. #} 5 5 ###############################################
+1 -1
.gitlab-ci/templates/distributions.jinja
··· 1 1 {# 2 - Copyright 2020-2022, Collabora, Ltd. 2 + Copyright 2020-2024, Collabora, Ltd. 3 3 4 4 SPDX-License-Identifier: BSL-1.0 5 5 #}
+1 -1
.gitlab-ci/templates/reprepro.sh.jinja
··· 1 1 #!/usr/bin/env bash 2 2 # SPDX-License-Identifier: CC0-1.0 3 - # SPDX-FileCopyrightText: 2018-2022 Collabora, Ltd. and the Monado contributors 3 + # SPDX-FileCopyrightText: 2018-2024 Collabora, Ltd. and the Monado contributors 4 4 5 5 {# ignore the warning, this is actually the template to edit. #} 6 6 ###############################################