On Mar 28, 2021, at 18:04, Fred Wright wrote:

> On Fri, 26 Mar 2021, Ryan Schmidt wrote:
>> On Mar 24, 2021, at 17:50, Joshua Root wrote:
>> 
>>> we would have to set up a self-hosted runner.
>> 
>> People have expressed interest in this (for x86_64) every now and then over 
>> the years, but as of now we have no ability to do this. Software would need 
>> to be written to allow this to happen. And then we would either need 
>> separate hardware to run it on, or the software would need to be written in 
>> such a way that it could coexist with the existing buildbot hardware (for 
>> example in a non-root MacPorts installation in another prefix, but a subset 
>> of ports are not able to be built in non-root installations).
> 
> Does MacPorts play nicely with chroot?

As I recall, macOS does not play nicely with chroot. One of the problems was 
that you had to copy most of macOS into the chroot so that macOS libraries and 
frameworks could be used. And our experiments predated System Integrity 
Protection and other recent security innovations that probably make it even 
more difficult now.


> A VM would be another possibility

Yes certainly we would want to use a VM for CI build infrastructure. We already 
use VMs for buildbot infrastructure. The difference is that the buildbot VMs 
are persistent whereas the CI VMs would need to be ephemeral -- would need to 
be created anew for each CI run and deleted afterwards. VM snapshots or 
"non-persistent" disk mode might make that easy to achieve. But the code to 
drive such a system -- code that would, in response to a GitHub PR 
notification, tell the VM hypervisor to boot up a VM, then launch our CI runner 
within that VM to install MacPorts and do the build, then gather logs and 
publish them so they could be viewed in the PR, then shut down the VM -- has 
not been written. And once that's written, hardware needs to be purchased, 
whether in the form of additional SSDs, RAM, and faster CPUs for our existing 
Xserves or additional Xserves or other Macs.

And while that is conceivable for x86_64, the additional complication with 
arm64 is that I am not aware of a way to run arm64 macOS in a VM, whether on an 
arm64 Mac or on an x86_64 Mac.

Reply via email to