The future of macOS CI

Hello,

this is a follow-up to Potential retirement of the macOS CI builder for GLib and GTK.

I am now able to create a setup that provides virtualized, ephemeral macOS runners for GitLab after someone from GStreamer pointed me towards tart. That opens up the door to providing macOS CI group-wide for all GNOME projects including forks. No more limitations about running “unsafe” code, also system modifications or package installations like using Homebrew become possible.

There’s a catch: I do not have the infrastructure to run this. To put the requirements into perspective: a good entry-level setup that can run two jobs simultaneously (Apple’s TOS allow only 2 VMs on a Mac) would be a Mac Mini M2 with 24 GB RAM and 1 TB SSD. Sadly that’s an “in-between” configuration and not offered by e.g. MacStadium which I checked to give an indication for pricing. A smaller machine with 16 GB RAM and 1 TB SSD is listed as $199 per month, the bigger 32 GB RAM and 2 TB SSD is $349. That’s a lot of money since you can buy a machine with 24 GB RAM and 256 GB SSD + 1 TB external SSD for roughly 1.200 € where I live. But that of course does not include the cost to keep this running 24/7.

I’d like to start a conversation about what the GNOME project is willing to invest into macOS infrastructure.

4 Likes
  1. When we talk about macOS runners are we discussing

    • Apple Silicon only -or-
    • Apple Silicon + Intel ?
  2. I think the pricing is not open-source friendly. More than the pricing I think the idea that we need to pay lot of money to fuel free / open source development for minimal returns (in terms of user base) is not viable long term. We can make an open announcement that GNOME needs mac hardware donations. Even if we get a few M1 mini (which are now ~4 years old and have more chance of being donated), we should be able to offer decent runner performance. It’s worth a shot.

MacStadium does support open-source development.

2 Likes
  1. In terms of hardware, Apple Silicon only. Intel support can be provided by cross-compiling, the keyword is “Rosetta 2” (Intel emulation).

  2. It would be an investment, yes. It would show “we care”. And the user base is not as small as you think. There are still big cross-platform applications out there that rely on and contribute to GNOME technologies and are heavily invested in keeping portability and platform support alive.

There are more creative solutions. Would GNOME consider subsidizing someone’s electricity bill? If you accept hardware donations, does that mean you have colocation space available?