From 2d532aa0ffb627f47e4eb4e9fc5c21523960094d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:25:04 +0100 Subject: [PATCH 1/6] ci: Stop building byzantium debs This is Debian oldstable based and hence to cumbersome to support upstream. Part-of: --- .gitlab-ci.yml | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 93ba14ba..cfdd891f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -38,43 +38,6 @@ build_meson: variables: - $PKG_ONLY == "1" -build_deb: - stage: build - artifacts: - paths: - - '*.deb' - script: - - rm -f ../*.deb - - apt-get -y build-dep . - - apt-get -y install devscripts - - REV=$(git log -1 --format=%h) - - VER=$(dpkg-parsechangelog -SVersion) - - DEBFULLNAME="Librem5 CI" - - EMAIL="librem5-builds@lists.community.puri.sm" - - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG" - - debuild -i -us -uc -b - - cp ../*.deb . - -build_deb:arm64: - image: pureos/byzantium - tags: - - aarch64 - stage: build - artifacts: - paths: - - '*.deb' - script: - - rm -f ../*.deb - - apt-get -y build-dep . - - apt-get -y install devscripts - - REV=$(git log -1 --format=%h) - - VER=$(dpkg-parsechangelog -SVersion) - - DEBFULLNAME="Librem5 CI" - - EMAIL="librem5-builds@lists.community.puri.sm" - - dch -v"$VER+librem5ci$CI_PIPELINE_ID.$REV" "$MSG" - - debuild -i -us -uc -b - - cp ../*.deb . - build_deb:future: image: debian:bookworm allow_failure: true From ad69bd5b596f090f3f4b2a1e219455c4f8920067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:29:08 +0100 Subject: [PATCH 2/6] Use newer dependencies everywhere No need to copy them in most of the jobs Part-of: --- .gitlab-ci.yml | 11 ++------ debian/control | 14 +++++----- debian/control-newer | 62 -------------------------------------------- 3 files changed, 9 insertions(+), 78 deletions(-) delete mode 100644 debian/control-newer diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfdd891f..ed89202e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: pureos/byzantium +image: debian:bookworm stages: - build @@ -23,14 +23,12 @@ build_docs: - $PKG_ONLY == "1" build_meson: - image: debian:bookworm stage: build artifacts: paths: - _build expire_in: 3h script: - - mv debian/control-newer debian/control - apt-get -y build-dep . - meson . _build/ -Ddepdatadir=/usr/share -Dfind_orphans=true --werror - ninja -C _build install @@ -38,9 +36,8 @@ build_meson: variables: - $PKG_ONLY == "1" -build_deb:future: +build_deb: image: debian:bookworm - allow_failure: true tags: - aarch64 stage: build @@ -49,7 +46,6 @@ build_deb:future: - '*.deb' script: - rm -f ../*.deb - - mv debian/control-newer debian/control - apt-get -y build-dep . - apt-get -y install devscripts - REV=$(git log -1 --format=%h) @@ -61,7 +57,6 @@ build_deb:future: - cp ../*.deb . build_reference: - image: debian:bookworm stage: build needs: - job: build_meson @@ -90,13 +85,11 @@ test_lintian: - $PKG_ONLY == "1" test: - image: debian:bookworm stage: test needs: - job: build_meson artifacts: true script: - - mv debian/control-newer debian/control - apt-get -y build-dep . - apt-get -y install clang-tidy - ninja -C _build test diff --git a/debian/control b/debian/control index 6a5a816f..d2f3cb7f 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: x11 Priority: optional Maintainer: Dorota Czaplejewicz Build-Depends: - cargo-mozilla, + cargo, debhelper-compat (= 13), meson (>=0.51.0), ninja-build, @@ -13,10 +13,10 @@ Build-Depends: libgnome-desktop-3-dev, libgtk-3-dev, libfeedback-dev, - librust-bitflags-1-dev (>= 1.0), - librust-clap-2+default-dev (>= 2.32), - librust-gio+v2-44-dev, - librust-glib+v2-44-dev, + librust-bitflags-dev (>= 1.0), + librust-clap-dev (>= 2.32), + librust-gio+v2-58-dev, + librust-glib+v2-58-dev, librust-glib-sys-dev, librust-gtk+v3-22-dev (>= 0.5), librust-gtk-sys-dev, @@ -24,12 +24,12 @@ Build-Depends: librust-serde-derive-1-dev (>= 1.0), librust-serde-yaml-0.8-dev (>= 0.8), librust-xkbcommon-0.4+wayland-dev (>= 0.4), - librust-zbus-dev (>=1.0), + librust-zbus-dev (>= 1.9), libwayland-dev (>= 1.16), lsb-release, python3, python3-ruamel.yaml, - rustc-mozilla, + rustc, wayland-protocols (>= 1.14), Standards-Version: 4.1.3 Homepage: https://gitlab.gnome.org/World/Phosh/squeekboard diff --git a/debian/control-newer b/debian/control-newer deleted file mode 100644 index d2f3cb7f..00000000 --- a/debian/control-newer +++ /dev/null @@ -1,62 +0,0 @@ -Source: squeekboard -Section: x11 -Priority: optional -Maintainer: Dorota Czaplejewicz -Build-Depends: - cargo, - debhelper-compat (= 13), - meson (>=0.51.0), - ninja-build, - pkg-config, - libbsd-dev, - libglib2.0-dev, - libgnome-desktop-3-dev, - libgtk-3-dev, - libfeedback-dev, - librust-bitflags-dev (>= 1.0), - librust-clap-dev (>= 2.32), - librust-gio+v2-58-dev, - librust-glib+v2-58-dev, - librust-glib-sys-dev, - librust-gtk+v3-22-dev (>= 0.5), - librust-gtk-sys-dev, - librust-maplit-1-dev (>= 1.0), - librust-serde-derive-1-dev (>= 1.0), - librust-serde-yaml-0.8-dev (>= 0.8), - librust-xkbcommon-0.4+wayland-dev (>= 0.4), - librust-zbus-dev (>= 1.9), - libwayland-dev (>= 1.16), - lsb-release, - python3, - python3-ruamel.yaml, - rustc, - wayland-protocols (>= 1.14), -Standards-Version: 4.1.3 -Homepage: https://gitlab.gnome.org/World/Phosh/squeekboard - -Package: squeekboard -Architecture: linux-any -Depends: -# for Greek polytonic readability - fonts-gfs-didot-classic, -# for the Adwaita-dark theme - gnome-themes-extra-data, - ${shlibs:Depends}, - ${misc:Depends}, -Breaks: - librem5-base (<< 24), -Description: On-screen keyboard for Wayland - Virtual keyboard supporting Wayland, built primarily for the Librem 5 phone. - -Package: squeekboard-devel -Architecture: linux-any -Depends: - python3, - python3-gi, - ${shlibs:Depends}, - ${misc:Depends}, -Description: Resources for making Squeekboard layouts - Tools for creating and testing Squeekboard layouts: - . - * squeekboard-entry - * squeekboard-test-layout From 0e8128d02164779427d5ecefa0996a434a4c7d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:34:02 +0100 Subject: [PATCH 3/6] ci: Drop lintian check Packging details should be checked in the distros. Let's not waste CI resources here. Part-of: --- .gitlab-ci.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed89202e..8297d632 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,18 +72,6 @@ build_reference: variables: - $PKG_ONLY == "1" -test_lintian: - stage: test - needs: - - job: build_deb - artifacts: true - script: - - apt-get -y install lintian - - lintian *.deb - except: - variables: - - $PKG_ONLY == "1" - test: stage: test needs: From cc18ec727c4cfe5a79867ed90b5ec58633b92e14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:36:54 +0100 Subject: [PATCH 4/6] ci: Use Debian trixie for the doc build This allows us to use the available package, no need for pip. Part-of: --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8297d632..52ebe190 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,13 +10,13 @@ before_script: - apt-get -y install ca-certificates build_docs: + image: debian:trixie stage: build artifacts: paths: - _build script: - - apt-get -y install python3-pip python3-sphinx - - pip3 install recommonmark + - apt-get -y install --on-install-recommends python3-pip python3-sphinx python3-recommonmark - ./doc/build.sh _build except: variables: From ff79647f05bb21ea797392eb0e641385b736aeb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:37:59 +0100 Subject: [PATCH 5/6] ci: Cancel running jobs No need to have parallel pipelines when updating a job. Part-of: --- .gitlab-ci.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52ebe190..633b4be9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,19 @@ image: debian:bookworm +default: + # Protect CI infra from rogue jobs + timeout: 15 minutes + # Allow jobs to be caneled on new commits + interruptible: true + # Retry on infra hickups automatically + retry: + max: 1 + when: + - api_failure + - runner_system_failure + - scheduler_failure + - stuck_or_timeout_failure + stages: - build - test From f64ea8f0855112b79029d22484cd0d2c457991b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sun, 10 Mar 2024 10:45:03 +0100 Subject: [PATCH 6/6] ci: Always use noninteractive debconf backend This avoids plenty of warnings when installing dependencies Part-of: --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 633b4be9..28c01fbb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,8 @@ image: debian:bookworm +variables: + DEBIAN_FRONTEND: noninteractive + default: # Protect CI infra from rogue jobs timeout: 15 minutes