I sent the Darling link to a brother and suggested that he use it with Parallels… I couldn’t resist.
tal@lemmy.today 6 days ago
Yes. For a single change. Like having an editor with 2 minute save lag, pushing commit using program running on cassette tapes4 or playing chess over snail-mail. It’s 2026 for Pete’s sake, and we5 won’t tolerate this behavior!
Now of course, in some Perfect World, GitHub could have a local runner with all the bells and whistles. Or maybe something that would allow me to quickly check for progress upon the push6 or even something like a “scratch commit”, i.e. a way that I could testbed different runs without polluting history of both Git and Action runs.
For the love of all that is holy, don’t let GitHub Actions manage your logic. Keep your scripts under your own damn control and just make the Actions call them!
I don’t use GitHub Actions and am not familiar with it, but if you’re using it for continuous integration or build stuff, I’d think that it’s probably a good idea to have it decoupled anyway, unless you want to be unable to do development without an Internet connection and access to GitHub.
I mean, I’d wager that someone out there has already built some kind of system to do this for git projects. If you need some kind of isolated, reproducible environment, maybe Podman or similar, and just have some framework to run it?
like macOS builds that would be quite hard to get otherwise
Does Rust not do cross-compilation?
searches
It looks like it can.
rust-lang.github.io/…/cross-compilation.html
I guess maybe MacOS CI might be a pain to do locally on a non-MacOS machine. You can’t just freely redistribute MacOS.
goes looking
Maybe this?
Darling is a translation layer that lets you run macOS software on Linux
That sounds a lot like Wine
And it is! Wine lets you run Windows software on Linux, and Darling does the same for macOS software.
As long as that’s sufficient, I’d think that you could maybe run MacOS CI in Darling in Podman? Podman can run on Linux, MacOS, Windows, and BSD, and if you can run Darling in Podman, I’d think that you’d be able to run MacOS stuff on whatever.
morriscox@lemmy.world 6 days ago
setsubyou@lemmy.world 6 days ago
You could also just only use Macs. In theory ARM Macs let you build and test for macOS (host or vm), Linux (containers or vm), Windows (vm), iOS (simulator or connected device), and Android (multiple options), both ARM and x86-64.
At least in theory. I think in practice I’d go mad. Not from the Linux part though. That part just works because podman on ARM Macs will transparently use emulation for x86 containers by default. (You can get the same thing on Linux too with qemu-user-static btw., for a lot more architectures too.)
tal@lemmy.today 6 days ago
I actually don’t know what the current requirement is. Back in the day, Apple used to build some of the OS — like QuickDraw — into the ROMs, so unless you had a physical Mac, not just a purchased copy of MacOS, you couldn’t legally run MacOS, since the ROM contents were copyrighted, and doing so would require infringing on the ROM copyright. Apple obviously doesn’t care about this most of the time, but I imagine that if it becomes institutionalized at places that make real money, they might.
But I don’t know if that’s still the case today. I’m vaguely recalling that there was some period where part of Apple’s EULA for MacOS prohibited running MacOS on non-Apple hardware, which would have been a different method of trying to tie it to the hardware.
searches
This is from 2019, and it sounds like at that point, Apple was leveraging the EULAs.
discussions.apple.com/thread/250646417?sortBy=ran…
They switched to ARM in 2020, so unless their legal position changed around ARM, I’d guess that they’re probably still relying on the EULA restrictions. That being said, EULAs have also been thrown out for various reasons, so…shrugs
goes looking for the actual license text.
Yeah, this is Tahoe’s EULA, the most-recent release:
www.apple.com/legal/sla/docs/macOSTahoe.pdf
Page 2 (of 895 pages):
They allow only on Apple-branded hardware for individual purchases unless you buy from the Mac Store. For Mac Store purchases, they allow up to two virtual instances of MacOS to be executed on Apple-branded hardware that is also running the OS, and only under certain conditions (like for software development). And for volume purchase contracts, they say that the terms are whatever the purchaser negotiated, and I’m assuming that there’s no chance that Apple is going to grant some
So for the general case, the EULA prohibits you from running MacOS wherever.
setsubyou@lemmy.world 6 days ago
Yeah, it’s a major pain at my work because our cloud doesn’t support Macs (like e.g. AWS would), so we run a server room with a bunch of Macs that we wouldn’t otherwise need.