Fastmac – A macOS instance or Linux shell
github.com
github.com
> Actions should not be used for:
[...]
> any other activity unrelated to the production, testing, deployment, or publication of the software project associated with the repository where GitHub Actions are used.
At the very least, I recommend you highlight the Actions ToS to your users lest they miss this restriction.
[0]: https://docs.github.com/en/github/site-policy/github-additio...
All others CI providers are content with Y and Y-1 versions (at best) and seem squarely focused on build-for-iOS CI (Including Travis is hopelessly slow, when it’s not outright broken)
I think (AFAICT) it's still OK for what I use it for, which is building and testing conda packages interactively, as long as I copy the fastmac files into the same repo as the conda packages I'm building. I'm sure there's plenty of other folks who would find similar things helpful.
Risking losing an important account due to TOS violations is one.
Also, you don't see a lot of people in jail saying that.
Stealing a worker for up to 6 hours likely running on real Apple hardware because that's how OS X is licensed, man, there are no words. Free CI is difficult enough to supply as it is without freeloaders tying up a limited pool of workers because they're too lazy to run something locally
MS may still be the type of company to change it’s mind about upholding the principles that GitHub runs on.
The internet was built by phreakers and pirates. This statement shows how far we've since fallen.
(FWIW, spoken as someone who spent many months wardialling by hand and poking around as the rest of the household slept during his school days)
I run macos in qemu/kvm . works very good.
Is this how Github actions and other CI services work? For some reason I thought they had to buy a bunch of Apple hardware ...
It is, but very weakly - basically a secret string stored in the SMI.
> Is this how Github actions and other CI services work? For some reason I thought they had to buy a bunch of Apple hardware ...
You can virtualize MacOS, but only on official Apple hardware. There is likely a fleet of Mac Pros or Mac Minis somewhere running real hardware + VMs.
EDIT: Read "You can ..." above as "You are authorized by Apple and can legally virtualize MacOS". You can run OSX on virtually any hardware in a VM, but doing it at scale or in a commercial setting will probably be a bad idea from a legal perspective.
Because it seems like you "can" in the technical sense (although I didn't try it, I looked at the code and it looks legit)
I imagine that a small CI service could start with the QEMU solution unofficially, but they would likely have to switch to Apple hardware before Apple got wind of it ...
legally only on apple hardware. It does actually work fine on normal PCs though.
Which, incidentally, is "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
https://www.rcfp.org/wp-content/uploads/imported/20120105_20...
(Direct link to PDF)
It's a nice hack, but if you build software for Mac it really isn't more expensive than building software for Windows for example.
If you want to sign/resell/other_thing_here that's a different story, but not related to your shell or building.
However I care about the humans who benefit from the software and run on mac, so I try to maintain support. This might be a great way for me to actually test instead of asking the community to test for me :-)
For example, paying for build minutes via GitHub actions for OSX costs 5x as much as windows and 10x as much as Linux.
Also, if you are an organisation you're not going to cheap out on your tools (at least not where I'm from). So your multi-thousand workstation that delivers multiples of that in revenue is really not that big of a deal.
There is one, and only one case where it's a problem: if you don't make money, but do want the latest and greatest and access to a commercial platform. And in that case it sucks that your values and wishes are not aligned with the commercial interests, but that's life.
Is it gonna take 10 more years until we have viable test environments for Apple? 15? At this point I’d say it’s more likely they’ll never bother. There can’t be any other reason to be this late.
The point is that someone makes an invalid statement about availability and/or cost. Just because you wish something doesn't mean every company in the world is bad for not supplying exactly that. (they are of course bad, but for other reasons)
Not everything can be the same happy build systems we're used to. That's not a bad thing in itself as a mono-culture has plenty of problems all by itself.
What's released as Darwin and XNU often is several years behind what Apple is currently shipping if they choose to release parts of the source at all. The stuff that actually matters on macOS isn't open source.
Because in a year or two, macOS will deprecate support for the machine[1].
[1] https://en.wikipedia.org/wiki/MacOS#Hardware_compatibility
The point is that you can make it as difficult or as easy on yourself as you want. Yes, proprietary systems and commercial vendors are going to add to the difficulty to some degree when compared to open source community systems, but that's a known fact and has very little to do with any specific vendor.
Yet I can still run Windows 10 on a computer that I've had in my closet for the last 15 years.
The argument about needing Mac hardware is only slightly stronger, but again if you’re serious about the Apple market, you’ll find a way to get some kind of hardware at a price point that works for you. Unfortunately some developers think that price should be $0, perhaps simply spoiled by the idea that building software is some noble pursuit that should always have no costs associated with it, only pure profit. Nevermind that the true biggest cost is the ever increasing amount of time that must be spent writing and maintaining code, which can easily run in to the tens of thousands of dollars if you go by the average developers salaried rate.
Meanwhile, Apple wants you to have a Mac, pay $100 a year for the privilege of being able to submit apps to their review process.
The end result is the user is misled by macOS into thinking that the software they want to use is either broken or malicious, and they are left being unable to use their computer in a way that Apple doesn't like.
It doesn't matter how much money you give Apple, because if they don't like your app, then you can't distribute it without macOS treating it likes it's radioactive.
To me, it seems like Apple doesn't really care about its customers when it doesn't let them run the software of their choosing with ease.
$100 is a barrier to entry for someone who is distributing software that they give away for free. It's not a high-bar but it's still a bar. If that software would otherwise work except for the fact you didn't pay Apple, it's kind of shitty.
(I suppose there’s an argument for making VMs available for development like Microsoft does [1] not aware of a comparable offering from Apple.)
[1]: https://developer.microsoft.com/en-us/windows/downloads/virt...
You don't _need_ a Windows or Android device. The Android sdk provides the Android emulator, ms has their vm images, and for a cross platform oss tool, you can often get away with just cross compiling and user bug reports for Windows.
You may want a physical device for testing, but this is different to Apple's physical hardware _requirement_.
Also the Act project to run locally is a joke. Everything runs in the node image.
GitHub has the repo for all the packer scripts open sourced I just haven’t had time to make Dockerfiles from them. They really should offer that in an official capacity.
The annotations are really nice but I think that’s an API that can be used from other CI providers.
The average selling price of a PC in the US is $639.
https://www.statista.com/statistics/722992/worldwide-persona...
If I were serious about being cross platform, why wouldn’t I just buy a Mac since it can run Windows, Linux and Mac software and I can build both Android and iOS software?
You don’t even have to buy a new Mac. You can always buy a used 2014 Mac Mini.
I personally wouldn't buy one as it's not worth the money performance-wise [1], and I don't like Mac hardware/software in the first place.
> You don’t even have to buy a new Mac. You can always buy a used 2014 Mac Mini.
It's still a shame to have to spend $300+ to use an underpowered 6 year old machine while I have perfectly capable Ryzen cores sitting here idle.
[1] - 8GB and 4-core i5 for a Macbook at the same price of my 32GB and 8-core Ryzen 4750U current laptop. A maxed out MBP, still not reaching the same CPU/GPU specs as my T14 is over 1000eur more expensive.
Sorry about that!
- Windows Server 2019 windows-latest or windows-2019
- Ubuntu 20.04 ubuntu-20.04
- Ubuntu 18.04 ubuntu-latest or ubuntu-18.04
- Ubuntu 16.04 ubuntu-16.04
- macOS Catalina 10.15 macos-latest or macos-10.15
From: https://docs.github.com/en/actions/reference/workflow-syntax...
https://docs.github.com/en/actions/reference/virtual-environ...