6 ms·
> [...] and implement competent things like competent CI [...] I've got an OSX build box with a bunch of virtualbox VMs so I can build for Gnu/Linux (i386, x86
by jancsika 9y ago
> [...] and implement competent things like competent CI [...]
I've got an OSX build box with a bunch of virtualbox VMs so I can build for Gnu/Linux (i386, x86_64, and arm), OSX, and Windows. Single slow box, so one runner at a time. It has to be running OSX because I haven't found any way to run an OSX VM on any other platform.
I want to trigger CI on Gitlab merge requests.
What does $competent_CI expand to?
- mschuster91 9y ago> It has to be running OSX because I haven't found any way to run an OSX VM on any other platform. It is fairly easy to get decent OS X virtualization using Debian as base OS and QEMU-KVM for virtualization. You won't have niceties such as GPU acceleration but it will work. Search for "OSX KVM" on Google, it will take you where you want - unfortunately a direct link would expose me to legal liabilities. Also, be warned that using this method may violate Apple's EULA.
- freedomben 9y agoHave you figured out a way to bootstrap it without a Mac? I successfully got an image running under Vbox on Fedora, but I had to build the image first on a Mac and then export it as an appliance. Also, performance was atrocious. It was so bad as to basically make it unusable. 5 second delay before processing mouse and key events.
- kakwa_ 9y agoIt's possible to create an OSX VM under KVM. It's a little clunky, you get very bad graphics performances, and you can run in really weird issues (for example, the NIC not going-up properly), but it works, and if you are using it as a CI platform and/or only sshing into it, it's more than usable. It's really handy when you are testing/adding support for projects (like C/C++ with cmake) on OSX.
- justrobert 9y agoHackintosh systems are easy as long as you're not looking to update them after everything is working correctly. They are fragile systems that one doesn't really want to risk production environments on in my opinion.
- saagarjha 9y agoGenerally Hackintoshes are fine for CI machines, since it doesn’t really matter if Wi-Fi or the camera or iMessage works correctly, as it might matter if you were using the machine for personal use. Updates are also generally fine if you wait a bit for other people to test before installing.
- mbreese 9y agoAs far as I know, there isn’t anything that goes against using OSX in a VM in the EULA — so long as your host runs on Mac hardware. I don’t think you even need to use OSX as the primary OS in the machine. That’s an admittedly big caveat, but also one of the reasons why virtualizing OSX works in the first place.
- jsjohnst 9y agoTake a look at Veertu, it uses macOS’s built in Hypervisor (like Docker for Mac now does) and integrates the VMs into a pretty decent Jenkins plugin. I’ve been using it since early alphas and it’s one of the best I’ve used in a self hosted solution.
- kstenerud 9y agoI set up some scripts to build virtual environments, including MacOS under KVM: https://github.com/kstenerud/virtual-builders https://github.com/kstenerud/virtual-builders Specifically: https://github.com/kstenerud/virtual-builders/tree/master/builders/macos https://github.com/kstenerud/virtual-builders/tree/master/bu...