ci: add riscv64-linux smoke job (QEMU)#3606
Open
tobiastilhof wants to merge 1 commit intosparklemotion:mainfrom
Open
ci: add riscv64-linux smoke job (QEMU)#3606tobiastilhof wants to merge 1 commit intosparklemotion:mainfrom
tobiastilhof wants to merge 1 commit intosparklemotion:mainfrom
Conversation
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.
This PR adds an experimental CI job that runs Nokogiri's build and test suite
on
riscv64using QEMU.The goal is simply to verify that Nokogiri compiles and runs correctly on the
RISC-V architecture. As RISC-V systems become more accessible (e.g. development
boards and some cloud environments), having minimal CI coverage can help detect
portability issues early.
What the job does
The job:
riscv64container (ruby:3.4.x-slim)libxml2-dev,libxslt1-dev)--enable-system-librariesraketasksTo keep runtime reasonable under QEMU emulation:
In practice this job completes in roughly ~9 minutes.
Why system libraries are used
Building Nokogiri's bundled libxml2 under QEMU emulation significantly increases
CI runtime. Using system libraries keeps the job lightweight while still
verifying that Nokogiri compiles and the test suite runs successfully.
The workflow logs also include the detected
libxml2version for visibility.Intent
This job is meant to provide additional CI signal only
If preferred, it could be:
continue-on-errorapt-getinstallation and further reduce CI runtimeHappy to adjust or simplify the workflow if there are preferred conventions for adding new architectures to the CI setup.
If this isn’t something the project wants to maintain in CI long-term, feel free to close the PR — I mostly wanted to share the experiment and the workflow in case it’s useful.
Thanks for taking a look!