Skip to content

ci: implement native multi-arch builds and smoke tests (x86_64 & arm64)#31

Merged
tillkamppeter merged 2 commits into
OpenPrinting:masterfrom
rkt0209:master
Mar 10, 2026
Merged

ci: implement native multi-arch builds and smoke tests (x86_64 & arm64)#31
tillkamppeter merged 2 commits into
OpenPrinting:masterfrom
rkt0209:master

Conversation

@rkt0209

@rkt0209 rkt0209 commented Mar 10, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR implements a native, multi-architecture GitHub Actions CI pipeline for the CUPS snap, specifically targeting x86_64 and arm64.

Technical Implementation

  • Native Build Matrix: * Implemented a strategy.matrix to execute builds natively without emulation.

    • x86_64 utilizes standard ubuntu-latest runners.
    • arm64 utilizes GitHub's native ARM runners (ubuntu-24.04-arm).
  • Automated Smoke Testing: * Added post-build runtime validation directly on the runner host:

    • Mounts and installs the compiled snap: sudo snap install --dangerous <dynamic-snap-path>.
    • Verifies system registration: snap list | grep "^cups ".
    • Validates binary execution and internal paths: snap run cups.gs -h.
  • State Teardown: * Implemented a guaranteed cleanup step (if: always()) executing sudo snap remove cups to maintain pristine runner environments post-test, regardless of test outcome.

@tillkamppeter tillkamppeter merged commit 1bf3ee7 into OpenPrinting:master Mar 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants