Add CI workflow that cross-builds for several targets on Ubuntu - #491
Merged
Conversation
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.
Contributor
|
Tick the box to add this pull request to the merge queue (same as
|
Contributor
Author
|
With these changes, the CI is all green again. |
Collaborator
|
@mmuetzel: thanks! |
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.
Pull request purpose
Currently, ARPACK is build for different targets in CI using
qemuto 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
qemuonly 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.