Skip to content

Add CI workflow that cross-builds for several targets on Ubuntu - #491

Merged
fghoussen merged 2 commits into
opencollab:masterfrom
mmuetzel:ci-cross
Aug 16, 2026
Merged

Add CI workflow that cross-builds for several targets on Ubuntu#491
fghoussen merged 2 commits into
opencollab:masterfrom
mmuetzel:ci-cross

Conversation

@mmuetzel

Copy link
Copy Markdown
Contributor

Pull request purpose

Currently, ARPACK is build for different targets in CI using qemu to emulate the compiler. That is costly compared to cross-compiling.
Additionally, the Alpine repository for the PowerPC target got more and more unreliable recently.

Detailed changes proposed in this pull request

Add a new workflow that cross-builds ARPACK on Ubuntu for some of the targets it supports.
Use qemu only to run the test suite for targets that require emulation. Select runners that can execute the test suite natively (multilib) if possible.
With that, weed out the workflow matrix for Alpine Linux. While it is probably still a good idea to keep checking that ARPACK works correctly on a MUSL platform, that can be covered with targets that can run natively on the GitHub-hosted runners.
Add a new target for LoongArch64 which is supported by Alpine but not (yet?) by Ubuntu.

This is in preparation for the refactoring of the CI workflows in #489. The main goal is to have all runners pass the CI again before starting that refactoring.

Cross build ARPACK for some targets on Ubuntu using their cross-compilation
toolchains and packages.
Run the test suite using `qemu` if necessary.
The Alpine repository for the PowerPC target got more and more unreliable
recently.
Additionally, the PowerPC target is covered with the cross-build rules on
Ubuntu now.

Drop some (expensive) targets to reduce the overlap in coverage with the
workflow that cross-builds on Ubuntu.
Add LoongArch64 target which is not (yet?) available for Ubuntu.
Keep targets that can be build natively (which should be reasonably fast).
Use an Ubuntu on ARM runner for the armv7 target.
Rename workflow because out of the three remaining targets only one is
actually emulated - the others can execute natively.
@mergify

mergify Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@mmuetzel

Copy link
Copy Markdown
Contributor Author

With these changes, the CI is all green again.

@fghoussen
fghoussen merged commit 9304416 into opencollab:master Aug 16, 2026
24 checks passed
@fghoussen

Copy link
Copy Markdown
Collaborator

@mmuetzel: thanks!

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