CircleCI-Archived / macOS-M1-Preview-Documentation

Documentation for the macOS M1 closed preview on CircleCI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

❗ M1 support will launch on March 2, 2023. This repo will be archived on March 10th.

macOS M1 Preview Documentation

The purpose of this repository is to walk you through the details of the macOS M1 preview on CircleCI.

What are macOS M1 resources on CircleCI?

The M1 resource class is a new macOS option, running on Apple Silicon hardware, for those developing, building, testing, and signing iOS, iPadOS, macOS, WatchOS, and tvOS applications using the Xcode IDE.

Supported Production Xcode Image

Supported Preview Xcode Images - WILL BE REMOVED ON MARCH 9, 2023

The images provided during the preview phase are pre-production and are not indicative of the final images that will ship at product launch. Software setup, software versions, and general configurations may differ compared to our Intel based images. Rosetta will not be pre-installed on the final production images, though we will make the best effort to align the M1 images with the current Intel images.

We will launch with an Xcode 14.2.0 production image and will release the remaining images post-launch. Xcode 13.4.1 is the oldest version we will support on Apple Silicon resources.

Known Limitations & Important Information

  • Jobs requiring an active desktop session
    • If you are unable to start an active desktop session, we suggest starting a VNC session as a temporary workaround. Instructions for doing this can be found in our support docs.
  • In response to a bug with S3 that impacted network performance, we have implemented a temporary workaround to use accelerated data transfer. Once the S3 fix has been deployed, we will go bad to using normal S3 data transfer. More details can be found in the closed issue.

Pricing and Specs

The following macOS M1 resource class is available:

Resource Class Name vCPU Memory Price
macos.m1.large.gen1 8vCPU 12 GB 400 credits/minute

Example of a CircleCI config using macOS M1 resources

# .circleci/config.yml
version: 2.1
jobs: # a basic unit of work in a run
  build-and-test: # your job name
    macos:
      xcode: 14.2.0 # indicate your selected version of Xcode
    resource_class: macos.m1.large.gen1
    steps: # a series of commands to run
      - checkout  # pull down code from your VCS
      - run: bundle install
      - run:
          name: Fastlane
          command: bundle exec fastlane $FASTLANE_LANE
      - store_artifacts:
          path: output
      - store_test_results:
          path: output/scan
          
workflows:
  build-test:
    jobs:
      - build-and-test

How to provide feedback & frequently asked questions

Please open an issue with any feedback or to report any issues that you encounter.

FAQ

  • Can I run end-to-end tests on M1 resources?
    • We believe our M1 resource class will provide access to the GPU, allowing for full E2E testing that was previously unavailable on macOS VMs. We'd love to hear feedback from customers on this experience and whether you run into any friction.
  • Will you be offering a medium Apple Silicon VM option?
    • We are planning to offer a medium option in the future, though no further details or timelines are available at this time.

About

Documentation for the macOS M1 closed preview on CircleCI.