ci: Use ubuntu images for CI jobs

It's the distro I'm using, so it makes things easier to maintain.

It tend to be also a bit more stable, so it helps unless we need
something really bleeding edge (but we can still switch to devel if
required).

Finally fedora does not use ppd anymore, so there's no much point to
use it as our development target
This commit is contained in:
Marco Trevisan (Treviño) 2025-02-08 01:11:57 +01:00 committed by Mario Limonciello
parent d08683ecf1
commit c47fea05d4

View file

@ -3,7 +3,7 @@
include: include:
- project: 'freedesktop/ci-templates' - project: 'freedesktop/ci-templates'
ref: *templates_sha ref: *templates_sha
file: '/templates/fedora.yml' file: '/templates/ubuntu.yml'
stages: stages:
- prep - prep
@ -11,96 +11,96 @@ stages:
- test - test
- deploy - deploy
.ppd.fedora: .ppd.ubuntu:
variables: variables:
FDO_UPSTREAM_REPO: upower/power-profiles-daemon FDO_UPSTREAM_REPO: upower/power-profiles-daemon
FDO_DISTRIBUTION_VERSION: 41 FDO_DISTRIBUTION_VERSION: '24.10'
FDO_DISTRIBUTION_TAG: '2025-01-01.0' FDO_DISTRIBUTION_TAG: '2025-01-01.2'
.ppd.fedora.build: .ppd.ubuntu.build:
extends: extends:
- .fdo.container-build@fedora - .fdo.container-build@ubuntu
- .ppd.fedora - .ppd.ubuntu
stage: prep stage: prep
variables: variables:
FDO_DISTRIBUTION_PACKAGES: argparse-manpage FDO_DISTRIBUTION_PACKAGES: bash-completion
bash-completion-devel clang-tools
clang-analyzer
e2fsprogs
gcc
gcovr gcovr
gcc
git git
glib-devel gtk-doc-tools
glib2 libglib2.0-dev
glibc libgudev-1.0-dev
gtk-doc libpolkit-gobject-1-dev
libasan libudev-dev
libgudev libumockdev-dev
libgudev-devel libupower-glib-dev
libubsan libxml2-utils
lsb-release
meson meson
polkit-devel pylint
polkit-libs python3-argparse-manpage
pre-commit
python3-coverage python3-coverage
python3-dbus
python3-dbusmock python3-dbusmock
python3-gobject python3-gi
python3-gobject
python3-packaging
python3-pylint
python3-shtab python3-shtab
systemd python3-pip
systemd-devel systemd-dev
ubuntu-dbgsym-keyring
umockdev umockdev
upower
upower-devel
valgrind valgrind
which DEBUG_DEPS: libglib2.0-0t64-dbgsym
DEBUG_DEPS: glib2 libc6-dbg
glibc libgudev-1.0-0-dbgsym
libgudev libupower-glib3-dbgsym
upower libpolkit-gobject-1-0-dbgsym
polkit-libs
FDO_DISTRIBUTION_EXEC: | FDO_DISTRIBUTION_EXEC: |
dnf install -y --setopt=protected_packages= "dnf-command(debuginfo-install)"; echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse
dnf debuginfo-install -y $DEBUG_DEPS; deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
tee -a /etc/apt/sources.list.d/ddebs.list
apt update -y
apt install -y $DEBUG_DEPS
build-fedora-container: pip3 install --break-system-packages pre-commit
build-ubuntu-container:
extends: extends:
- .ppd.fedora.build - .ppd.ubuntu.build
only: only:
variables: variables:
- $CI_PIPELINE_SOURCE != "schedule" && - $CI_PIPELINE_SOURCE != "schedule" &&
$PPD_CI_ACTION != "build-image" $PPD_CI_ACTION != "build-image"
.ppd.fedora.force-rebuild: .ppd.ubuntu.force-rebuild:
variables: variables:
FDO_FORCE_REBUILD: 1 FDO_FORCE_REBUILD: 1
build-fedora-container-schedule: build-ubuntu-container-schedule:
extends: extends:
- .ppd.fedora.force-rebuild - .ppd.ubuntu.force-rebuild
- .ppd.fedora.build - .ppd.ubuntu.build
only: only:
variables: variables:
- $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES" - $CI_PIPELINE_SOURCE == "schedule" && $CRON_TASK == "BUILD_CI_IMAGES"
build-fedora-container-manual: build-ubuntu-container-manual:
extends: extends:
- .ppd.fedora.force-rebuild - .ppd.ubuntu.force-rebuild
- .ppd.fedora.build - .ppd.ubuntu.build
only: only:
variables: variables:
- $PPD_CI_ACTION == "build-image" - $PPD_CI_ACTION == "build-image"
.ppd.fedora.base: .ppd.ubuntu.base:
extends: extends:
- .ppd.fedora - .ppd.ubuntu
- .fdo.distribution-image@fedora - .fdo.distribution-image@ubuntu
.ppd.fedora.test: .ppd.ubuntu.test:
extends: extends:
- .ppd.fedora.base - .ppd.ubuntu.base
before_script: before_script:
- echo 8096000 > /proc/sys/fs/inotify/max_user_instances - echo 8096000 > /proc/sys/fs/inotify/max_user_instances
@ -114,13 +114,13 @@ workflow:
pre_commit: pre_commit:
stage: pre-commit stage: pre-commit
extends: extends:
- .ppd.fedora.base - .ppd.ubuntu.base
script: script:
- pre-commit run --all-files - pre-commit run --all-files
build_and_test: build_and_test:
extends: extends:
- .ppd.fedora.test - .ppd.ubuntu.test
script: script:
- meson setup - meson setup
--werror --werror
@ -129,17 +129,17 @@ build_and_test:
-Dpylint=enabled -Dpylint=enabled
-Db_coverage=true -Db_coverage=true
_build _build
- meson test -C _build --print-errorlogs - meson test -C _build --print-errorlogs -v
- .ci/fail_skipped_tests.py _build/meson-logs/testlog.junit.xml - .ci/fail_skipped_tests.py _build/meson-logs/testlog.junit.xml
- ninja -C _build coverage - ninja -C _build coverage
- python_coverage_data=_build/meson-logs/python.coverage - python_coverage_data=_build/meson-logs/python.coverage
- coverage3 combine --data-file=$python_coverage_data - python3-coverage combine --data-file=$python_coverage_data
_build/python-coverage/* _build/python-coverage/*
- coverage3 xml --data-file=$python_coverage_data - python3-coverage xml --data-file=$python_coverage_data
-o $python_coverage_data.xml -o $python_coverage_data.xml
- sed "s,_build/src/,src/,g" -i $python_coverage_data.xml - sed "s,_build/src/,src/,g" -i $python_coverage_data.xml
- coverage3 report --data-file=$python_coverage_data - python3-coverage report --data-file=$python_coverage_data
- coverage3 html --data-file=$python_coverage_data - python3-coverage html --data-file=$python_coverage_data
-d _build/meson-logs/python-coverage-html -d _build/meson-logs/python-coverage-html
- cat _build/meson-logs/coverage.txt || true - cat _build/meson-logs/coverage.txt || true
artifacts: artifacts:
@ -160,7 +160,7 @@ build_and_test:
dist_install: dist_install:
extends: extends:
- .ppd.fedora.test - .ppd.ubuntu.test
script: script:
- meson setup - meson setup
--werror --werror
@ -185,7 +185,7 @@ dist_install:
address_sanitizer: address_sanitizer:
extends: extends:
- .ppd.fedora.test - .ppd.ubuntu.test
script: script:
- meson setup - meson setup
--werror --werror
@ -200,7 +200,7 @@ address_sanitizer:
valgrind: valgrind:
extends: extends:
- .ppd.fedora.test - .ppd.ubuntu.test
script: script:
- meson setup - meson setup
--werror --werror
@ -216,7 +216,7 @@ valgrind:
scan_build: scan_build:
extends: extends:
- .ppd.fedora.base - .ppd.ubuntu.base
script: script:
- meson setup _build -Dtests=false - meson setup _build -Dtests=false
- env SCANBUILD=$(which scan-build) ninja -C _build scan-build - env SCANBUILD=$(which scan-build) ninja -C _build scan-build
@ -227,7 +227,7 @@ scan_build:
docs: docs:
extends: extends:
- .ppd.fedora.base - .ppd.ubuntu.base
script: script:
- meson setup - meson setup
-Dgtk_doc=true -Dgtk_doc=true