Using the Arm VM execution environment
You can access the Arm VM (virtual machine) execution environment for a job by using the machine executor, specifying a Linux virtual machine image that includes arm resources, and then specifying an Arm resource class.
Available resource classes
The following Arm resources are available part of the machine
executor:
Class | vCPUs | RAM | Disk Size | Cloud | Server |
---|---|---|---|---|---|
arm.medium (default) | 2 | 8GB | 100 GB | ||
arm.large | 4 | 16GB | 100 GB | ||
arm.xlarge | 8 | 32GB | 100 GB | ||
arm.2xlarge | 16 | 64GB | 100 GB |
For pricing and plans information, see the resource class pricing overview.
View resource usage
To view the compute resource usage for the duration of a job in the CircleCI web app:
- Select Dashboard from the sidebar menu
- Use the dropdown menus to select a project, and a branch
- Expand your workflow ( )
- Select a job by clicking on the job name
- Select the Resources tab to view CPU and RAM usage for the duration of the job
You can use these insights to decide whether to make changes to the job’s configured resource class. You can also access resource class Insights.
Images with Arm support
Arm resources are accessible by using the machine executor when using one of the following images:
Ubuntu 20.04 - focal
ubuntu-2004:current
- most recent, recommended for all usersubuntu-2004:2023.07.1
ubuntu-2004:2023.04.2
ubuntu-2004:2023.02.1
ubuntu-2004:2022.10.1
ubuntu-2004:2022.07.1
ubuntu-2004:2022.04.1
ubuntu-2004:202201-02
ubuntu-2004:202201-01
ubuntu-2004:202111-02
ubuntu-2004:202111-01
ubuntu-2004:202107-01
ubuntu-2004:202104-01
ubuntu-2004:202101-01
ubuntu-2004:202011-01
- deprecated as of Feb 3, 2021
Ubuntu 22.04 - jammy
ubuntu-2204:current
- most recent, recommended for all usersubuntu-2204:2023.07.1
ubuntu-2204:2023.04.2
ubuntu-2204:2023.02.1
ubuntu-2204:2022.10.2
ubuntu-2204:2022.07.2
For a full list of machine executor images, see the CircleCI Developer Hub. And for announcements about image updates, see CircleCI Discuss.
Limitations
- Some orbs that include an executable may not be compatible with Arm at this time. If you run into issues with orbs on Arm, please open an issue.
- We currently do not provide support for 32-bit Arm architectures. Only 64-bit
arm64
architectures are supported at this time. - There may be up to 2 minutes of spin-up time before your job actually starts running. This time will decrease as more customers start using Arm resources.
- If there is software you require that is not available in the image, please open an issue to let us know.
- In server 3.x, Arm resources are only available when using the EC2 provider for VM service. This is because there are no Arm instances available in GCP.
M1 Mac Support
Docker images built on M1 Macs, are by default, not compatible with the CircleCI standard platform. The spin up environment
job in your pipelines will give you a green tic, but you will see the following message in the response:
WARNING: docker image ghcr.io/{your_username}/runner-test:latest targets wrong architecture (found arm64 but need [amd64 i386 386])
If you build an image on an M1 you need to specify docker build --platform linux/amd64
as the default builds arm64
.
Arm on Docker
For further information on using Arm with the Docker execution environment, see the Using the Docker execution enviornment page.
Learn More
Take the Arm course with CircleCI Academy to learn more about using Arm resources and associated use cases.
Help make this document better
This guide, as well as the rest of our docs, are open source and available on GitHub. We welcome your contributions.
- Suggest an edit to this page (please read the contributing guide first).
- To report a problem in the documentation, or to submit feedback and comments, please open an issue on GitHub.
- CircleCI is always seeking ways to improve your experience with our platform. If you would like to share feedback, please join our research community.
Need support?
Our support engineers are available to help with service issues, billing, or account related questions, and can help troubleshoot build configurations. Contact our support engineers by opening a ticket.
You can also visit our support site to find support articles, community forums, and training resources.
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.