Docker images for non-amd64 platforms #41
Merged
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.
As espressomd/espresso#2258 required me to create docker images for multiple exotic CPU architectures (specifically i386 and big-endian revealed bugs in Espresso and there is an unsolved one that only happens on 32-bit ARM), I decided to automate the process. It's probably not necessary to put these jobs into CI for every pull request, but maybe we can just run them weekly.
Supporting non-mainstream CPU architectures (i.e. anything other than amd64) is a worthwhile effort as it's a requirement for getting binary packages into Linux distributions. We are not there yet as we'd first need to get rid of the myconfig system, but intend to do so in the future. All of the issues in espressomd/espresso#2258 cropped up while @junghans was preparing OpenSUSE packages.
On arm64, MPI does not currently work (qemu: uncaught target signal 4 (Illegal instruction)
in /usr/lib/aarch64-linux-gnu/libopen-pal.so.20:d53be001 mrs x1, cntfrq_el0
). qemu/qemu@26c4a83 is the fix and is included in the recently-released QEMU 3.0.0, but no binaries are available for it yet.