TL;DR: Do you know of any hosted CI/CD providers for iOS, who have their datacenter/build-boxes in Asia, or at least Europe? (Bonus points if they provide both build and deploy, but build is the MVP.)
We're running CI/CD at-scale for iOS and Android: we run 10+ simultaneous builds both to test/verify our Merge-Request branches and to deploy trunk builds to our testers and stakeholders. We're using a SaaS/cloud provider we're pretty happy with... except for their location.
We're in Asia, as is our source. Client is in a highly-regulated industry and fighting hard to keep source on-prem, as they think their regulator can't handle source in the cloud yet. Please accept this premise. I understand why they need to let go of it. But for now... assume they can't.
What that means is: source is in Asia, but the CI/CD providers who build it are all seemingly in the US (Circle, Buddybuild, etc). Trans-pacific bandwidth sucks, particularly during the Asia business day. The time taken by every clone before every build spikes to >60 minutes for much of the business day.
Going on-prem for the CI/CD would be pretty easy for Android builds, on docker containers. But iOS is the problem. You either need to put yourself in the business of teaching people to admin OSX and keep a fleet of build-boxes operational, or you need to let specialists solve that problem for you.
- I am not asking for recommendations, SE community! This is a factual technical question: are certain services, that meet certain technical requirements, available in a certain geography?
- We know that MacStadium can provide bare MacOS VM's in Ireland. But that means you have to admin your own whole CI process, plus a lot of low-level system admin tasks we'd rather avoid. It also means separating build from deployment, for sure. But the latency appears to be acceptable.
- We know of other people who have cloud CI/CD platforms closer to us... but without iOS/MacOS support.
- We know that shallow clones require less bandwidth, which would mitigate the problem, but they also have other complications that mean our current provider doesn't support it yet. And they don't entirely solve the problem in any case.
- We've experimented with using off-premise GitHub mirror, which solves some of the problem, but doesn't address the regulatory issues. It also doesn't work with many webhooks, and specifically the Merge-Request webhooks that are critical to our CI pipeline for new code. We could create an agent that would monitor the webhooks, then imperatively relay API commands to the other service-providers... but that's really jumping through hoops, plus we'd have created substantial new code to maintain.