Skip to content

adding additional build targets for CI - armhf / arm64 #518

@kingdonb

Description

@kingdonb

We should support as much as possible ARM targets like the Raspberry Pi. I think we can cover all of them by just supporting armhf build target. There is discussion about how to do this in #484 and initially seemed like it was really doable, but the problem is that building for different arches on TravisCI or any other docker image build hosts was going to require something extra.

In #484 we learned that you can use multiarch/qemu-user-static:register to build images for other architectures such as building a armhf or arm64 target on a machine running Darwin + amd64 + Docker. I did not quite understand the proper way to use the multiarch image, and we are also pretty sure this can be done without breaking the existing Makefile or diverging the multiple architectures too far at build time.

Ideally we would have a set of build slaves that cover every architecture we wanted to support, and running the build on each would trigger an appropriate image for that architecture to be pushed, all based on the multiarch image, and without necessarily requiring to add a list of supported architectures to enumerate inside of Makefile, or separate Dockerfiles. (I might still not quite be understanding how multiarch docker base image is supposed to work.)

Maybe there is some kind of scaffolding to support this (building a project on several architectures at once) already in TravisCI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions