This section walks you through validating your self-hosted CircleCI runner on an Arm64 machine by executing a simple workflow and a test computation. This ensures your runner is correctly configured and ready to process jobs.
Start by creating a GitHub repository dedicated to verifying your Arm64 runner:
git clone https://github.com/<your-username>/aws-circleci/
cd aws-circleci
This repository serves as a sandbox to confirm that your CircleCI runner can pick up and run jobs for Arm64 workflows.
Create a minimal shell script to confirm your runner can execute commands:
echo 'echo "Hello from CircleCI Arm64 Runner!"' > hello.sh
chmod +x hello.sh
This script prints a message when run, helping you verify that your self-hosted runner is working as expected.
echo 'echo "Hello from CircleCI Arm64 Runner!"' > hello.sh
chmod +x hello.sh
The next step is to add a .circleci/config.yml file to define the workflow that will run on your Arm64 runner. Start by creating the directory in your new repository.
mkdir .circleci
Then enter the YAML content:
version: 2.1
jobs:
test-Arm64:
machine:
enabled: true
resource_class: circleci/arm64 # Replace with your actual resource class
steps:
- checkout
- run:
name: Verify Arm64 Runner
command: |
uname -m
lscpu | grep Architecture
./hello.sh
- run:
name: Run sample computation
command: |
echo "Performing test on Arm64 runner"
echo "CPU Info:"
lscpu
echo "Success!"
workflows:
test-workflow:
jobs:
- test-Arm64
In the snippet above, you need to replace the resource_class variable with the name you defined in the previous section.
This snippet:
test-Arm64 using a machine executor on a self-hosted Arm64 runner.uname -m and lscpu to verify the runner.hello.sh to confirm the runner can run commands.When the files you created (hello.sh, .circleci/config.yml) are ready, push your project to GitHub so CircleCI can build and verify the Arm64 runner automatically.
git add .
git commit -m "Initial CircleCI Arm64 test"
If you haven’t already, you need to configure your GitHub credentials before pushing. Once that is done, run the following to upstream your changes:
git branch -M main
git push -u origin main
After pushing your code to GitHub, open your CircleCI Dashboard → Projects, and confirm that your test-Arm64 workflow starts running using your self-hosted runner.
If everything is set up correctly, you’ll see your job running under the resource class you created.
Once the job starts running, CircleCI does the following:
It verifies the Arm64 Runner:
Self-Hosted Runners
It runs a sample computation:
Self-Hosted Runners
All CircleCI jobs have run successfully, the sample computation completed, and all outputs are visible in the CircleCI Dashboard.