[Winter of Code] Proposal to Standardize CI Workflows for cups-filters and libcupsfilters.

Rohit Kumar <[email protected]> Mon, 19 Jan 2026 23:05:00 +0530
Newsgroups dev.linux.lists.printing-architecture
Message-ID <CAHuB0--i=BWWi30DTHRYDoBhRJ-9E4AdD0cHFz9dVyq3BBv7KA@mail.gmail.com>
Hi everyone,
My name is Rohit Kumar, and I am a participant in the Winter of Code,
working under the mentorship of Till Kamppeter. My project, "Complete
CI Testing for OpenPrinting Projects," aims to standardize the
Continuous Integration infrastructure for cups-filters,
libcupsfilters, and cups-snap.

Per Till's suggestion, I am reaching out to share my technical roadmap
and seek feedback from the community.

Current Analysis & Strategy:

I have performed a deep-dive analysis of the CI workflow in Michael
Sweet=E2=80=99s core cups repository (.github/workflows/build.yml). It serv=
es
as an excellent reference model, particularly in how it uses a Job
Matrix to parallelize builds and capture make test logs as artifacts
for debugging.

Currently, the CI for cups-filters and libcupsfilters lacks this
robustness, often failing due to unmanaged dependencies in the runner
environment.

Implementation Plan:

I plan to adapt the cups workflow architecture for these repositories
with the following specific adjustments:

Platform Scope:
Till clarified that unlike the core cups repo, the filter repositories
do not support Windows or macOS. Therefore, I will strip those jobs
and focus the matrix strictly on Linux distributions (Ubuntu LTS
versions) and potentially BSD to ensure stability across our target
platforms.

Dependency Automation:
My initial audit revealed that builds often fail due to missing tools
like autopoint, cups-config, and libcups2-dev. I will implement a
"Prerequisites" step in the GitHub Action (similar to the cups
workflow) that automatically scripts the installation of these missing
dependencies before the configure step runs.

Static Analysis:
I also aim to integrate cppcheck into the workflow to catch memory
leaks and code quality issues on every commit, mirroring the rigorous
standards of the core CUPS project.

Request for Feedback:-
Before I finalize the YAML configurations, are there any specific
legacy build flags or additional BSD-specific constraints I should be
aware of for cups-filters?

I look forward to collaborating with you all and helping make the
OpenPrinting infrastructure more robust.

Best regards,
Rohit Kumar
Winter of Code Participant