]> git.ipfire.org Git - thirdparty/cups-filters.git/commitdiff
ci: drop CUPS 3.x legs (cups-filters is a CUPS 2.x compat layer, per Till) -> 4 arch... master
authorRohit Kumar <rohitdhankhar7347@gmail.com>
Tue, 23 Jun 2026 15:25:55 +0000 (20:55 +0530)
committerTill Kamppeter <till.kamppeter@gmail.com>
Wed, 24 Jun 2026 15:58:59 +0000 (17:58 +0200)
.github/workflows/build.yml
ci/ci-setup.sh

index 126d482aa6ed1ec26500029b08b82a64610ec29b..c3daabca0e602409326645cbfd999c946a16f88f 100644 (file)
@@ -1,9 +1,12 @@
 # Multi-Architecture / multi-CUPS Build and Test Workflow for cups-filters
 #
 # 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)
 #   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
 # 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]
       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
         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 }})
 
     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
     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
 
     steps:
       - uses: actions/checkout@v4
index 553f4a3fe605d6f37c392c3f12cf3c0aaffca55b..e4e7de28dd5208ad64182a33311ff3c91096bd57 100755 (executable)
@@ -2,17 +2,17 @@
 # ci/ci-setup.sh
 #
 # CI helper for building cups-filters against several CUPS releases on both
 # 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 <kind>           provide libcups; <kind> is one of:
 #                           system-2x    distro libcups2-dev  (CUPS 2.4.x)
 #                           source-2.5.x OpenPrinting/cups@master    (CUPS 2.5.x)
 #
 # Subcommands:
 #   deps                  install build dependencies
 #   cups <kind>           provide libcups; <kind> 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 <kind> provide libcupsfilters: distro pkg on system-2x,
 #                         OpenPrinting/libcupsfilters@master on the source legs
 #   pdfio                 build/install the latest released pdfio
 #   libcupsfilters <kind> 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}
                        ;;
                        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
                *)
                        echo "ci-setup: unknown cups kind: $kind" >&2; exit 2 ;;
        esac