This document will walk you through the setup steps required to use an Arm resource on CircleCI. Arm resources are not available on CircleCI Server 1.x or 2.x.
CircleCI offers multiple kinds of environments for you to run jobs in. In your
config.yml file you can choose the right environment for your job using the
key. CircleCI offers two Arm resources as part of the
arm64architecture, 2 vCPU, 8GB RAM
arm64architecture, 4 vCPU, 16GB RAM
Which are available under these images:
ubuntu-2004:202101-01- most recent, recommended for all users
ubuntu-2004:202011-01- deprecated as of Feb 3, 2021
As these are
machine executor resources, each class is a dedicated VM that is created specifically for your job and subsequently taken down after the job has finished running.
Pricing and availability
The following Arm resource class is available to all CircleCI customers:
|Resource class name||Specs||Requisite Plan|
||2 vCPUs, 8GB RAM||Free, Performance, Scale, Custom|
||4 vCPUs, 16GB RAM||Performance, Scale, Custom|
For pricing and availability check out our Pricing page.
At this moment, Arm resources are only available on our cloud offering. If you are a CircleCI Server customer and are looking to try Arm resources, consider creating a CircleCI Cloud account, or contact your Customer Success Manager to request Arm on Server.
Using Arm resources
.circleci/config.yml file to use Arm resources. Consider the example config:
# .circleci/config.yml version: 2.1 jobs: build-medium: machine: image: ubuntu-2004:202101-01 resource_class: arm.medium steps: - run: uname -a - run: echo "Hello, Arm!" build-large: machine: image: ubuntu-2004:202101-01 resource_class: arm.large steps: - run: uname -a - run: echo "Hello, Arm!" workflows: build: jobs: - build-medium - build-large
Please note that it is indeed possible to mix various resources in the same configuration (and even the same workflow).
- Some orbs that include an executable may not be compatible with Arm at this moment. 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
arm64architectures 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.
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.
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.