ci: Implement multi-architecture build and test workflow#135
Merged
tillkamppeter merged 14 commits intoOpenPrinting:masterfrom Mar 9, 2026
Merged
ci: Implement multi-architecture build and test workflow#135tillkamppeter merged 14 commits intoOpenPrinting:masterfrom
tillkamppeter merged 14 commits intoOpenPrinting:masterfrom
Conversation
…, and disable flaky ghcr caching
…ture build and test
…L under emulation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces a comprehensive, multi-architecture GitHub Actions CI workflow for
libcupsfilters. It ensures that the library successfully builds and passes its test suite across a matrix of different architectures, helping catch platform-specific regressions early.Architectures Covered
The matrix strategy runs the build and test pipeline on four architectures:
uraimo/run-on-arch-action@v3)uraimo/run-on-arch-action@v3)Implementation Details & Fixes
To ensure a stable and reliable CI environment, this workflow includes several critical configurations:
libcupsfilters, the CI dynamically fetches, compiles, and installspdfio(v1.6.2) from source.apt-getpackages to prevent./autogen.shand./configurefrom failing. This resolves previous missing package errors by explicitly addingautopoint,gettext,libjxl-dev,liblcms2-dev,libexif-dev, and other required image/PDF libraries.set -exto prevent silent build failures from cascading into downstream commands.$REPO_DIR) to prevent navigation bugs when compiling external dependencies in/tmp.always()) uploads all*.logandtest-suite.logfiles as GitHub Artifacts. This ensures diagnostic data is always available to developers, even ifmake checkfails inside the emulator.Testing
All four architectures (native and emulated) have been tested and are successfully passing the
autogen.sh,configure,make, andmake checksteps.