Skip to content

ci: implement asynchronous riscv64 testing via Snap Store edge channel#33

Merged
tillkamppeter merged 8 commits into
OpenPrinting:masterfrom
rkt0209:master
Mar 13, 2026
Merged

ci: implement asynchronous riscv64 testing via Snap Store edge channel#33
tillkamppeter merged 8 commits into
OpenPrinting:masterfrom
rkt0209:master

Conversation

@rkt0209

@rkt0209 rkt0209 commented Mar 13, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR resolves the issue of GitHub Actions' 6-hour runner timeouts when attempting to synchronously build and test the riscv64 architecture.

As discussed with @tillkamppeter, since Launchpad automatically builds all architectures (including riscv64) in the background after a commit is pushed, we are decoupling the RISC-V compilation from the synchronous PR checks.

Key Changes

  • Unblocked PRs: Removed riscv64 from the main build.yml matrix. PRs will now only gate on the faster architectures (amd64, arm64, and armhf), allowing for rapid merging without waiting up to 4 hours for Launchpad's RISC-V queue.
  • Added Edge Monitor (test-riscv-edge.yml): Created a new daily cron workflow that tests the RISC-V build asynchronously.
    • Queries the public Snapcraft API (api.snapcraft.io) for the latest riscv64 CUPS snap in the edge channel.
    • If a new build is detected, it downloads the .snap file.
    • Extracts the binary using squashfs-tools and runs our Ghostscript smoke test locally using qemu-riscv64-static.
    • Gracefully exits if the build is not yet published, preventing false-positive CI failures.

Testing Performed

  • Manually triggered test-riscv-edge.yml on my fork. It successfully queried the API, downloaded version 2.4.16-2, unpacked it, and passed the emulated Ghostscript smoke test.

@tillkamppeter tillkamppeter merged commit 10d7145 into OpenPrinting:master Mar 13, 2026
6 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