From: Rohit Kumar Date: Tue, 23 Jun 2026 15:25:55 +0000 (+0530) Subject: ci: drop CUPS 3.x legs (cups-filters is a CUPS 2.x compat layer, per Till) -> 4 arch... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;p=thirdparty%2Fcups-filters.git ci: drop CUPS 3.x legs (cups-filters is a CUPS 2.x compat layer, per Till) -> 4 arch x {2.4,2.5} = 8 combos --- diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 126d482aa..c3daabca0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,9 +1,12 @@ # Multi-Architecture / multi-CUPS Build and Test Workflow for cups-filters # -# Matrix: 4 architectures x 3 CUPS releases = 12 combinations. +# Matrix: 4 architectures x 2 CUPS releases = 8 combinations. # architectures: x86_64, arm64 (native runners); armv7, riscv64 (QEMU) -# CUPS releases: 2.4.x (distro libcups2-dev), 2.5.x (OpenPrinting/cups -# master), 3.x (OpenPrinting/libcups master) +# CUPS releases: 2.4.x (distro libcups2-dev), 2.5.x (OpenPrinting/cups master) +# CUPS 3.x / libcups3 is intentionally NOT tested: cups-filters is a +# compatibility layer that exposes libcupsfilters' filter functions as classic +# CUPS filters, and CUPS 3.x has no filter/backend-executable concept, so +# cups-filters has no meaning there (confirmed by Till Kamppeter). # All the per-combination work lives in ci/ci-setup.sh so the legs differ only # in which CUPS is provided and whether they run under emulation. Each leg # builds pdfio + libcupsfilters + libppd against the selected CUPS, then @@ -29,7 +32,7 @@ jobs: fail-fast: false matrix: arch: [x86_64, arm64, armv7, riscv64] - cups: [system-2x, source-2.5.x, source-3.x] + cups: [system-2x, source-2.5.x] include: - arch: x86_64 runs-on: ubuntu-latest @@ -46,14 +49,8 @@ jobs: runs-on: ${{ matrix.runs-on }} name: Build & Test (${{ matrix.arch }}, ${{ matrix.cups }}) - # Building CUPS 2.5 / libcups3 from source under QEMU is slow; allow plenty. + # Building CUPS 2.5 from source under QEMU is slow; allow plenty. timeout-minutes: 360 - # The libcups3 (CUPS 3.x) leg is not yet gating: cups-filters has not been - # ported to libcups3 (the classic backends include the removed - # cups/backend.h and foomatic-rip uses the libcups2 cups-array API names). - # Keep the leg visible but non-blocking until the port approach is agreed - # upstream; the 2.4.x and 2.5.x legs gate as normal. - continue-on-error: ${{ matrix.cups == 'source-3.x' }} steps: - uses: actions/checkout@v4 diff --git a/ci/ci-setup.sh b/ci/ci-setup.sh index 553f4a3fe..e4e7de28d 100755 --- a/ci/ci-setup.sh +++ b/ci/ci-setup.sh @@ -2,17 +2,17 @@ # ci/ci-setup.sh # # CI helper for building cups-filters against several CUPS releases on both -# native and QEMU-emulated runners. The same source compiles against CUPS -# 2.4.x, 2.5.x and 3.x; this script provides each of those CUPS builds, then -# builds the dependency stack (pdfio, libcupsfilters, libppd) and finally -# cups-filters itself against it. +# native and QEMU-emulated runners. cups-filters is a CUPS 2.x compatibility +# layer (classic filters), so it targets CUPS 2.4.x and 2.5.x only -- NOT +# CUPS 3.x/libcups3, which has no filter-executable concept. This script +# provides each CUPS build, then the dependency stack (pdfio, libcupsfilters, +# libppd) and finally cups-filters itself against it. # # Subcommands: # deps install build dependencies # cups provide libcups; is one of: # system-2x distro libcups2-dev (CUPS 2.4.x) # source-2.5.x OpenPrinting/cups@master (CUPS 2.5.x) -# source-3.x OpenPrinting/libcups@master (libcups3) # pdfio build/install the latest released pdfio # libcupsfilters provide libcupsfilters: distro pkg on system-2x, # OpenPrinting/libcupsfilters@master on the source legs @@ -98,10 +98,6 @@ cmd_cups() { build_autoconf https://github.com/OpenPrinting/cups.git master "" \ --disable-systemd ${ma:+--libdir=/usr/lib/$ma} ;; - source-3.x) - build_autoconf https://github.com/OpenPrinting/libcups.git master \ - "--recurse-submodules" - ;; *) echo "ci-setup: unknown cups kind: $kind" >&2; exit 2 ;; esac