ci: Add Ubuntu Jammy

This commit is contained in:
Ryan Pavlik 2022-07-25 09:23:53 -05:00
parent 36ca9260cf
commit b93b335b44
4 changed files with 96 additions and 4 deletions

View file

@ -43,6 +43,12 @@ include:
.monado.variables.ubuntu:focal:
variables:
FDO_DISTRIBUTION_VERSION: "20.04"
FDO_DISTRIBUTION_TAG: "2022-07-25.1"
# Variables for build and usage of Ubuntu jammy image
.monado.variables.ubuntu:jammy:
variables:
FDO_DISTRIBUTION_VERSION: "22.04"
FDO_DISTRIBUTION_TAG: "2022-07-25.0"
# Variables for build and usage of Arch rolling image
@ -96,6 +102,18 @@ ubuntu:focal:container_prep:
only:
changes:
- .gitlab-ci/**/*
variables:
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libavcodec-dev 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'
# Make Ubuntu jammy image
ubuntu:jammy:container_prep:
stage: container_prep
extends:
- .monado.variables.ubuntu:jammy
- .fdo.container-build@ubuntu # from ci-templates
only:
changes:
- .gitlab-ci/**/*
variables:
FDO_DISTRIBUTION_PACKAGES: 'build-essential ca-certificates cmake curl debhelper devscripts dput-ng gettext-base git glslang-tools libavcodec-dev 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'
@ -135,6 +153,13 @@ arch:rolling:container_prep:
- .fdo.distribution-image@ubuntu # from ci-templates
# Base for using Ubuntu jammy image
.monado.image.ubuntu:jammy:
extends:
- .monado.variables.ubuntu:jammy
- .fdo.distribution-image@ubuntu # from ci-templates
# Base for using Arch rolling image
.monado.image.arch:rolling:
extends:
@ -417,7 +442,7 @@ android:inProcessRelease:
paths:
- src/xrt/targets/openxr_android/build/outputs/apk/inProcess
ubuntu:cmake:
ubuntu:focal:cmake:
stage: build
extends:
- .monado.image.ubuntu:focal
@ -428,6 +453,17 @@ ubuntu:cmake:
- ninja -C build
- cd build && ctest --output-on-failure
ubuntu:jammy:cmake:
stage: build
extends:
- .monado.image.ubuntu:jammy
script:
- rm -rf build
- cmake -GNinja -B build -S . -DBUILD_DOC=OFF
- echo "Build Options:"; grep "^XRT_" build/CMakeCache.txt
- ninja -C build
- cd build && ctest --output-on-failure
arch:cmake:
stage: build
extends:
@ -526,15 +562,42 @@ ubuntu:focal:package:
- "incoming/"
expire_in: 2 days
ubuntu:jammy:package:
extends:
- .monado.image.ubuntu:jammy
- .monado.packaging.conditions
variables:
GIT_STRATEGY: clone
DEBFULLNAME: "Monado CI"
DEBEMAIL: "ryan.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 ryan.pavlik@collabora.com
script:
# 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.ubuntu:focal
- .monado.image.ubuntu:jammy
- .monado.packaging.conditions
needs:
- debian:bullseye:package
- ubuntu:focal:package
- ubuntu:jammy:package
script:
- bash .gitlab-ci/reprepro.sh
artifacts:

View file

@ -171,13 +171,24 @@ distributions:
# LTS
- codename: focal
distro_version: "20.04"
tag: "2022-07-25.0"
tag: "2022-07-25.1"
deb_version_suffix: ubuntu2004
packages:
<<: *default_debian_packages
build_jobs:
- name: "ubuntu:focal:cmake"
cmake_defines:
BUILD_DOC: "OFF"
- codename: jammy
distro_version: "22.04"
tag: "2022-07-25.0"
deb_version_suffix: ubuntu2204
packages:
<<: *default_debian_packages
reprepro:
build_jobs:
- name: "ubuntu:cmake"
- name: "ubuntu:jammy:cmake"
cmake_defines:
BUILD_DOC: "OFF"

View file

@ -14,3 +14,11 @@ Components: main
Tracking: minimal
SignWith: ${MONADO_GPG_FINGERPRINT}
Origin: monado.freedesktop.org
Description: Monado CI apt repository
Codename: jammy
Architectures: amd64 i386 source
Components: main
Tracking: minimal
SignWith: ${MONADO_GPG_FINGERPRINT}

View file

@ -49,3 +49,13 @@ if [ -f "incoming/focal.distro" ]; then
else
echo "Skipping focal - no artifact found"
fi
# jammy
if [ -f "incoming/jammy.distro" ]; then
VERSION=$(cat incoming/jammy.distro)
echo "Signing and processing jammy: ${VERSION}"
debsign -k "${MONADO_GPG_FINGERPRINT}" -p "gpg --batch --no-tty --yes --pinentry-mode loopback --passphrase ${MONADO_GPG_PASSPHRASE}" "incoming/monado_${VERSION}_amd64.changes"
reprepro -V --ignore=wrongdistribution -b repo include jammy "incoming/monado_${VERSION}_amd64.changes"
else
echo "Skipping jammy - no artifact found"
fi