diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 93ba14ba..28c01fbb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,21 @@ -image: pureos/byzantium +image: debian:bookworm + +variables: + DEBIAN_FRONTEND: noninteractive + +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 @@ -10,27 +27,25 @@ 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: - $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 @@ -39,45 +54,7 @@ build_meson: - $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 tags: - aarch64 stage: build @@ -86,7 +63,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) @@ -98,7 +74,6 @@ build_deb:future: - cp ../*.deb . build_reference: - image: debian:bookworm stage: build needs: - job: build_meson @@ -114,26 +89,12 @@ 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: - 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