On Wed, Oct 28, 2020 at 05:55:07PM -0700, Joelle van Dyne wrote:
> On Wed, Oct 28, 2020 at 4:39 AM Stefan Hajnoczi <stefa...@redhat.com> wrote:
> > On Tue, Oct 27, 2020 at 08:06:57PM -0700, Joelle van Dyne wrote:
> > It is beneficial to get continuous integration working for iOS.
> > Otherwise other maintainers may merge patches that break iOS compilation
> > and you'll find out later and be left solving the issues.
> If we want to do this it may come in another patch set. Reason is that
> to build QEMU for iOS, you have to build all the dependencies as well,
> which means downloading and building tar.gz from various sources for
> specific versions. We run a CI for UTM that uses this script to build
> QEMU, as you can see it's rather involved:
> https://github.com/utmapp/UTM/blob/master/scripts/build_dependencies.sh

The main issue I see is that the build time will be long due to all the
dependencies that are built from source.

If there is a way to cache the build dependency artifacts then it could
be simplified down to:

  tar xf qemu_ios_deps.tar.bz2
  git clone https://gitlab.com/qemu-project/qemu.git
  cd qemu
  ./configure ...
  make ...

The dependencies could be rebuild periodically (e.g. monthly or
on-demand when you decide to upgrade dependencies).

If you want to discuss CI integration more please start a new email
thread.  A number of people in the QEMU community have been playing with
various CI systems recently (GitLab, GitHub Actions, Travis, Cirrus,
etc) and might be able to suggest how to do this.

AFAIK Cirrus, Travis, and GitHub Actions offer free macOS runners. Or
you can install gitlab-runner on your own Mac and connect it to QEMU's
GitLab CI.

Using GitLab CI is slightly preferred because QEMU is moving towards it
as the main CI system.

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to