UPDATE: The sunsetting of Intel resources is now June 28, 2024. After that date, we will only support Apple silicon resources. The dates and brownouts listed below have also been updated.
Starting June 29, 2024 we will only offer Apple silicon-based macOS resources. As previously announced, we will be deprecating our Gen1 resources on 2 October 2023. We will also be deprecating our Dedicated Hosts at this time. In June 2024, we will deprecate our Gen2 resources, ending our support for all Intel-based macOS resources. Jobs still calling these resource classes after this will fail with an Invalid resource class error.
Which resources are being deprecated and when?
2 October 2023
Gen1 (medium & large)
Xcode 14.2 is the last supported version for Gen1
Dedicated Hosts (macos.x86.metal.gen1)
Xcode 14.0.1 is the last supported version for Dedicated Hosts
28 June 2024 24:00 UTC
Gen2 (macos.x86.medium.gen2)
Xcode 15.* is the last supported version for Gen2
What resources should I use instead?
We’ve already heard from you that the M1 resources we launched earlier this year have provided a superior experience, with better efficiency and performance. Whether your support for apple silicon, x86_64 architecture, or both, building with M1 can cut your build times by up to half! In addition, Apple Silicon unlocks the ability to perform full end-to-end testing, thanks to GPU access, something that has not been possible with Intel VMs.
Current M1 resource class options
M1 Medium
resource class tag: macos.m1.medium.gen1
4 vCPU
6GB RAM
150 credits / minute
M1 Large
resource class tag: macos.m1.large.gen1
8 vCPU
12GB RAM
250 credits / minute
How to migrate to M1
Update the resource class key in your configuration file from macos.x86.medium.gen2 to macos.m1.medium.gen1
A. Or, update the resource class key your configuration to macos.m1.large.gen1, to take advantage of more cores and greater memory
Use our script here to help find and update your mac resource classes
A. This script will scan the repos in your organization to determine if Gen1 or Gen2 mac resource classes are present and update them to either Gen2 or M1 based on the parameters you provide.
B. You just need to stipulate whether you are updating just Gen1 or both Gen1 and Gen2 and what resource class you want to upgrade to
Timeline
September 2023
The default macOS resource class will be updated to Gen2 medium
2 October 2023
Gen1 and Dedicated Hosts will no longer be available for use
Customers will need to update their config to a new resource class before this date to avoid build errors
24 June 2024
Free plan customers will get access to M1 medium
The default macOS resource class will be updated to M1 medium
28 June 2024 24:00 UTC
Gen2 will no longer be available to use
Customers will need to update their config to a new resource class before this date to avoid build errors
Brownouts
We will be conducting brownouts for the above resources on the following dates and times. Free customers will be exempt from all but the final brownout. If you’re interested in why we conduct brownouts, check out this blog post .
13 September 2023
01:00 UTC → 04:00 UTC
09:00 UTC → 12:00 UTC
14:00 UTC → 17:00 UTC
26 September 2023
02:00 UTC → 10:00 UTC
14:00 UTC → 22:00 UTC
24 April 2024
02:00 UTC → 10:00 UTC
14:00 UTC → 22:00 UTC
20 June 2024
00:00 UTC → 00:00 UTC (24 Hours)
During these times, all jobs calling Intel-based macOS resources will fail. Please update your configs as soon as possible to prevent any disruption to your pipelines.
Why are these resources being deprecated?
In November 2020, Apple released the first Macs with an ARM-based M1 chip and announced that the transition from Intel processors to their own silicon-based processors would take about two years. Now that we’re well past that two-year timeframe, we believe we can best serve our customers by focusing on delivering the latest Apple Silicon resources moving forward.
As always, please don’t hesitate to reach out to our amazing support team with any questions!
I need to produce binaries for Intel Mac (x64) with GraalVM native-image. I was able to do this by downloading native image for that architecture and just running it. macOS will invoke Rosetta2 automatically and a x64 binary will be produced. So I can migrate from a Intel resource to m1 resource thanks to Rosetta2.
Hello, i made change as you suggesting and my builds are not passing. Did i something wrong? https://github.com/EmbeddedRPC/erpc/pull/376/files https://app.circleci.com/pipelines/github/EmbeddedRPC/erpc/409
@Hadatko It looks like you’re using Xcode 12.5.1, which is not available on our M1 resources. Here is a list of all supported images - Using the macOS execution environment - CircleCI. Please try updating your Xcode image and let us know if you still run into issues.
@Hadatko I just noticed that you are on our Free plan. Sorry for the confusion! The M1 medium resource class will be available on the Free plan in December.
Our product is Java based and we ship separate packages for Intel and Apple Silicon. I’ve not tried it, but there would be a fair bit of effort to get this to cross compile.
The script to help migrate resource classes appears to only support Github and not Bitbucket/GitLab. Are there plans to provide a similar script for Bitbucket/GitLab?
To follow up on my earlier comment - we can cross compile our Java product quite easily actually using Rosetta. I’ve tested this, however - the builds take twice as long, and the M1 medium costs twice as much as the Medium Gen 2 Intel. So in our use case, switching over will make our tests take twice as long and cost more than 3 times the price.
I have some concerns because when we were setting up our pipeline to run detox tests on iOS using the orbs react-native-community/react-native@7.1.1 and circleci/node@5.1.0, only macos.x86.medium.gen2 worked for us. The other two M1s were failing due to some kind of infrastructure incompatibility with the components used in the pipeline. I haven’t tried them again since then, but this was the issue happening when trying to execute commands with Detox on the emulator while using a M1 Large resource:
“00:35:05.710 detox[20977] i IOServiceMatchingfailed for: AppleM2ScalerCSCDriver”
Thank you for bringing this to my attention! I’m working with my team to see if we can get the script updated to support Bitbucket. I will keep you updated!
You are correct that Gen2 medium (macos.x86.medium.gen2) and the default resource class will continue to work after October 2. However, Gen2 Medium will be deprecated on January 31, 2024. The brownouts are intended to give customers an idea of what changes they need to make in preparation for a major deprecation. We know that moving resource classes can take time so we want to encourage all users to start moving to M1.
While the default class is currently medium, we will soon be updating it to Gen2 medium. We are waiting to update it to M1 medium (macos.m1.medium.gen1) until December, since taking major actions like switching architectures on customers’ behalf has a high likelihood of causing breakage without a clear explanation of why builds broke.