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_repo_name/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
Now create a .circleci/config.yml file to define the workflow that runs on your Arm64 runner:
version: 2.1
jobs:
test-Arm64:
machine:
enabled: true
resource_class: your-namespace/Arm64-linux # 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
This configuration does the following:
test-Arm64 that uses a machine executor on your self-hosted Arm64 runneruname -m and checking the output of lscpuhello.sh script to confirm the runner can execute commandsEach step helps you confirm that your CircleCI Arm64 runner is set up correctly and ready to process jobs.
After you create hello.sh and .circleci/config.yml, push your project to GitHub so CircleCI can build and verify your Arm64 runner:
git add .
git commit -m "Initial CircleCI Arm64 test"
git branch -M main
git push -u origin main
Here’s what each command does:
Once your code is on GitHub, CircleCI can start running your workflow automatically.
Before you test your workflow, make sure your CircleCI runner is enabled and running. This lets your self-hosted runner pick up jobs from CircleCI:
sudo systemctl enable circleci-runner
sudo systemctl start circleci-runner
sudo systemctl status circleci-runner
After you push your code to GitHub, go to your CircleCI Dashboard and select Projects. Look for your test-Arm64 workflow and check that it is running on 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.