foomatic-rip: Reject options defined by FoomaticRIPOption #26
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Multi-Architecture / multi-CUPS Build and Test Workflow for cups-filters | |
| # | |
| # 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) | |
| # 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 | |
| # cups-filters, then runs the downstream autopkgtests (make test-autopkgtest). | |
| name: Build and Test (Multi-Architecture, Multi-CUPS) | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| pull_request: | |
| branches: | |
| - '**' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-matrix: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: [x86_64, arm64, armv7, riscv64] | |
| cups: [system-2x, source-2.5.x] | |
| include: | |
| - arch: x86_64 | |
| runs-on: ubuntu-latest | |
| use-qemu: false | |
| - arch: arm64 | |
| runs-on: ubuntu-24.04-arm | |
| use-qemu: false | |
| - arch: armv7 | |
| runs-on: ubuntu-latest | |
| use-qemu: true | |
| - arch: riscv64 | |
| runs-on: ubuntu-latest | |
| use-qemu: true | |
| runs-on: ${{ matrix.runs-on }} | |
| name: Build & Test (${{ matrix.arch }}, ${{ matrix.cups }}) | |
| # Building CUPS 2.5 from source under QEMU is slow; allow plenty. | |
| timeout-minutes: 360 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # ========================================== | |
| # NATIVE EXECUTION (x86_64 and arm64) | |
| # ========================================== | |
| - name: Build & Test (Native) | |
| if: matrix.use-qemu == false | |
| env: | |
| CC: /usr/bin/gcc | |
| CUPS_KIND: ${{ matrix.cups }} | |
| EMULATED: "0" | |
| run: | | |
| set -ex | |
| sh ci/ci-setup.sh deps | |
| sh ci/ci-setup.sh cups "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh pdfio | |
| sh ci/ci-setup.sh libcupsfilters "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh libppd "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh build-cups-filters | |
| - name: Autopkgtest (DESTDIR staging, native) | |
| # Run the downstream autopkgtest suite (filter chain + test-external) | |
| # against every CUPS version under test. | |
| if: matrix.use-qemu == false | |
| run: | | |
| set -ex | |
| make test-autopkgtest V=1 | |
| - name: Upload test artifacts (Native) | |
| if: matrix.use-qemu == false && always() | |
| continue-on-error: true | |
| timeout-minutes: 5 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cups-filters-logs-${{ matrix.arch }}-${{ matrix.cups }} | |
| path: | | |
| config.log | |
| test-suite.log | |
| **/*.log | |
| if-no-files-found: ignore | |
| # ========================================== | |
| # EMULATED EXECUTION (armv7 and riscv64) | |
| # ========================================== | |
| - name: Build & Test (Emulated) | |
| if: matrix.use-qemu == true | |
| uses: uraimo/run-on-arch-action@v3 | |
| with: | |
| arch: ${{ matrix.arch }} | |
| distro: ubuntu24.04 | |
| githubToken: ${{ github.token }} | |
| install: | | |
| apt-get update --fix-missing -y | |
| DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata ca-certificates git | |
| run: | | |
| set -ex | |
| export CUPS_KIND="${{ matrix.cups }}" | |
| export EMULATED=1 | |
| sh ci/ci-setup.sh deps | |
| sh ci/ci-setup.sh cups "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh pdfio | |
| sh ci/ci-setup.sh libcupsfilters "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh libppd "${{ matrix.cups }}" | |
| sh ci/ci-setup.sh build-cups-filters | |
| make test-autopkgtest V=1 | |
| - name: Upload test artifacts (Emulated) | |
| if: matrix.use-qemu == true && always() | |
| continue-on-error: true | |
| timeout-minutes: 5 | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cups-filters-logs-${{ matrix.arch }}-${{ matrix.cups }} | |
| path: | | |
| config.log | |
| test-suite.log | |
| **/*.log | |
| if-no-files-found: ignore |