Subject: [alpine-devel] Proposal: Multi-Arch matrix builds on travis-ci

From: Michael Wyraz <[email-masked]>
Date: Tue, 18 Sep 2018 23:20:09 +0200

Hello Alpine Devs,

today I had the idea to add multiple arch support to travis-ci builds, 
so that CI can be done on other platforms than x86_64.

So I created a PoC that looks promising: 
https://github.com/micw/aports/pull/2

See it in action at: https://travis-ci.org/micw/aports/builds/430225449

It uses qemu-arm-static and binfmt-support to allow execution of arm 
code on travis.

Some work is still to be done to use it productive (use newer qemu, 
modify the build script to only build packages for the current 
architecture but that should be easy to achieve).

Please let me know what you think about it and if we should go this way 
(as intermediate solution unless we have native CI).

Best regards,

Michael.

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Drew DeVault <[email-masked]>
Date: Tue, 18 Sep 2018 22:27:44 -0400

Throwing my hat in the court... I've been talking here about my service,
builds.sr.ht, which may be better suited to this than Travis CI, in this
thread:

https://bugs.alpinelinux.org/issues/9134

In summary, it should also be able to support multi-arch builds, though
I still need to build that out. It should be nearly trivial, I can
prioritize it if you folks are interested in using it. Advantages over
Travis:

- First-class KVM support
- First-class Alpine support, no need to hack up Ubuntu
- builds.sr.ht is 100% FLOSS (BSD and AGPL)

I've also purchased some RISC-V hardware, with which I will be porting
Alpine to riscv64 (when it arrives, probably in November) using
builds.sr.ht. I also use it to build packages for my third-party Alpine
repo, here are some examples:

https://builds.sr.ht/~sircmpwn/job/7545
https://builds.sr.ht/~sircmpwn/job/7553
https://builds.sr.ht/~sircmpwn/job/7552

It can also integrate with GitHub and mailing lists. In addition to
QA'ing GitHub PRs and alpine-aports emails, it can also be leveraged to
help Alpine developers automate publishing new versions of the package
to the official repos.

Happy to share accounts on my instance with any interested Alpine
developers or users.

---