Skip to content

feat(): Multiarch support #559

@MrCyjaneK

Description

@MrCyjaneK

Hey! I was looking for an option to cross-compile some program, long story short: cross compilation is not supported.

And I've discovered that docker support --platform switch.

Setup required:

  • # apt install -y qemu binfmt-support qemu-user-static
  • # docker run --rm --privileged multiarch/qemu-user-static:register

And while this solution is nowhere close to being fast, it works, it runs arm images on amd64 host.

root@oldpc ~# docker run --rm -ti --platform linux/arm/v7 debian:latest uname -m
armv7l

Which mean that you could do a native build of arm64 binaries on amd64 host, in case when cross compilation is not an option. Or you could test if some edge-case happen on arm hosts.

What do you think about bringing support of --platform switch to the Abstruse CI? In my opinion it should be configurable in the matrix in .abstruse.yml, like this:

platform: host // Special platform that just take `uname -m` as platform
matrix:
  - platform: arm64
  - platform: arm/v7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions