←back to thread

176 points Brajeshwar | 8 comments | | HN request time: 0.437s | source | bottom
1. qalmakka ◴[] No.42158099[source]
Macs in CI are an absolute nightmare. For some reason (well, I do have a reason, they want to sell you more Mac Minis) macOS is the only modern OS that has no real container solution builtin. Windows has Docker and true containers, FreeBSD has jails, Linux has a bajillion solutions, Darwin (macOS)? Nothing. They've ripped half of FreeBSD already, just pull jails too!
replies(3): >>42158161 #>>42158201 #>>42158781 #
2. znpy ◴[] No.42158161[source]
You WILL buy more apple stuff, whether you like it or not.
3. btbuilder ◴[] No.42158201[source]
It at least has the virtualization framework now. There’s a product called Anka that plugs into Jenkins and lets you deploy macOS VM images as build agents on top of physical Apple hardware. While slower than containers, and limited to 2 VMs (?!?) you can have reproducible and sane build environments via VM images.
replies(1): >>42158370 #
4. sigh_again ◴[] No.42158370[source]
It's limited to 2 VMs because Apple's software license agreement for MacOS: https://www.apple.com/legal/sla/docs/macOSSequoia.pdf

    to install, use and run up to two (2) additional copies or instances of the Apple Software, or any prior macOS or OS X operating system software or subsequent release of the Apple Software, within virtual operating system environments on each Apple-branded computer you own or control that is already running the Apple Software, for purposes of: (a) software development; (b) testing during software development; (c) using macOS Server; or (d) personal, non-commercial use.
Apple just really doesn't care about you, and as a developer, you're just a sucker to extract money from.
replies(2): >>42158387 #>>42166322 #
5. judge2020 ◴[] No.42158387{3}[source]
Realistically you can run more than 2 VMs with some work[0], but legally companies that provide CI and other virtual solutions can't buy 1 mac then get a license to run 100 virtual macs.

0: https://khronokernel.com/macos/2023/08/08/AS-VM.html

6. shepherdjerred ◴[] No.42158781[source]
https://darwin-containers.github.io/

Also, if you want to cross-compile in Linux instead of run a container: https://github.com/shepherdjerred/macos-cross-compiler

replies(1): >>42201689 #
7. tesch1 ◴[] No.42166322{3}[source]
(insert name of any corporation ... listed on any stock market) just really doesn't care about you, and as a developer, you're just a sucker to extract money from.
8. qalmakka ◴[] No.42201689[source]
Don't worry, as soon as this becomes production grade enough to justify buying less Mac Minis in data centres, Apple with shut it down faster than the speed of light. They could have done this themselves if they wanted, the reasons were never technical to begin with