Managed, self-hosted Arm runners for GitHub Actions
Learn how to configure and run GitHub Actions workflows on AWS Graviton processors.
- Native performance: Execute build and test cycles directly on AWS Graviton processors. This eliminates the complexities associated with instruction emulation and cross-compilation.
- Integrated Workflow: Experience a seamless integration within the familiar GitHub Actions environment without complex infrastructure management.
- Cost-effectiveness: Enjoy the convenience of GitHub Actions combined with the ability to select specific Graviton-based EC2 instance types for best price performance.
- The name of your GitHub organization. If you are using a personal account, this is your GitHub username.
- A license key. This is a string you obtain from RunsOn by e-mail.
- An e-mail address you want to use to receive notifications from RunsOn.
runs-on
setting.1
runs-on: ubuntu-22.04
runs-on
value as shown below to invoke a new runner in your AWS account.1
2
3
4
runs-on:
- runs-on
- runner=1cpu-linux-arm64
- run-id=${{ github.run_id }}
family
parameter:1
2
3
4
5
6
7
jobs:
build:
runs-on:
- runs-on
- runner=2cpu-linux-arm64
- family=r8g # Graviton4
- run-id=${{ github.run_id }}
git
) and the GitHub CLI (gh
) installed. Refer to the GitHub CLI installation instructions if you don't have the gh
command installed.1
2
3
mkdir actions-test ; cd actions-test
git init
mkdir -p .github/workflows
test.yml
in the .github/workflows/
directory:1
2
3
4
5
6
7
8
9
10
11
12
name: test
on:
push:
workflow_dispatch:
jobs:
build:
runs-on:
- runs-on
- runner=1cpu-linux-arm64
- run-id=${{ github.run_id }}
steps:
- run: echo "Hello from your Arm runner!"
1
2
git add .github/workflows/test.yml
git commit -m "initial commit for actions test"
1
gh auth login
1
gh repo create actions-test --private --source=. --remote=origin
1
git push -u origin master
git push
command will trigger the GitHub Action to run. 1
gh run list
1
2
STATUS TITLE WORKFLOW BRANCH EVENT ID ELAPSED AGE
✓ initial commit for actions test test master push 10777854144 43s about 6 minutes ago
1
gh run view 10777854144 --log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
build Set up job 2024-09-09T17:05:20.0155475Z Current runner version: '2.319.1'
build Set up job 2024-09-09T17:05:20.0163810Z Runner name: 'runs-on--i-03421942a716b3f2a--vPaXOcNxGv'
build Set up job 2024-09-09T17:05:20.0164922Z Runner group name: 'Default'
build Set up job 2024-09-09T17:05:20.0165868Z Machine name: 'ip-10-1-44-45'
build Set up job 2024-09-09T17:05:20.0187255Z ##[group]Runner Instance
build Set up job 2024-09-09T17:05:20.0188268Z | INFO | VALUE |
build Set up job 2024-09-09T17:05:20.0189375Z |-------------------|-------------------------------------------------|
build Set up job 2024-09-09T17:05:20.0190247Z | SSH | ssh runner@XX.XX.XXX.XX |
build Set up job 2024-09-09T17:05:20.0191195Z | DefaultAdmins | [] |
build Set up job 2024-09-09T17:05:20.0194359Z | Region | us-west-2 |
build Set up job 2024-09-09T17:05:20.0195723Z | AvailabilityZone | us-west-2c |
build Set up job 2024-09-09T17:05:20.0196761Z | Version | v2.5.0 |
build Set up job 2024-09-09T17:05:20.0197751Z | Runner | runs-on--i-03421942a716b3f2a--vPaXOcNxGv |
build Set up job 2024-09-09T17:05:20.0198675Z | InstanceId | i-03421942a716b3f2a |
build Set up job 2024-09-09T17:05:20.0199804Z | InstanceType | m7g.medium |
build Set up job 2024-09-09T17:05:20.0200853Z | InstanceLifecycle | spot |
build Set up job 2024-09-09T17:05:20.0201845Z | InstanceRAM | 3810.47 MiB |
build Set up job 2024-09-09T17:05:20.0202929Z | InstanceCPU | 1 cores |
build Set up job 2024-09-09T17:05:20.0203988Z | InstanceDisk1 | /=/dev/nvme0n1p1 |
build Set up job 2024-09-09T17:05:20.0204948Z | | Free=31.16GiB Used=7.41GiB |
build Set up job 2024-09-09T17:05:20.0205963Z | ImageId | ami-0657d9a6ae629cc71 |
build Set up job 2024-09-09T17:05:20.0207032Z | ImageName | runs-on-v2.2-ubuntu22-full-arm64-20240907064532 |
build Set up job 2024-09-09T17:05:20.0208066Z | Platform | linux |
build Set up job 2024-09-09T17:05:20.0209048Z | Architecture | arm64 |
build Set up job 2024-09-09T17:05:20.0210029Z | Has preinstall | false |
build Set up job 2024-09-09T17:05:20.0211070Z | PrivateIp | 10.1.44.45 |
build Set up job 2024-09-09T17:05:20.0212487Z | Debug | false |
build Set up job 2024-09-09T17:05:20.0213565Z | BucketCacheName | runs-on-s3bucketcache-wdz50kvdwgnk |
build Set up job 2024-09-09T17:05:20.0214516Z ##[endgroup]
build Set up job 2024-09-09T17:05:20.0215051Z ##[group]Timings
build Set up job 2024-09-09T17:05:20.0215788Z | TIME | STEP | DIFF | TOTAL |
build Set up job 2024-09-09T17:05:20.0216832Z |----------------------|----------------------|---------|--------|
build Set up job 2024-09-09T17:05:20.0217838Z | 2024-09-09T17:04:45Z | workflow-job-created | 0ms | 0.0s |
build Set up job 2024-09-09T17:05:20.0218934Z | 2024-09-09T17:04:48Z | webhook-received | 3400ms | 3.40s |
build Set up job 2024-09-09T17:05:20.0219949Z | 2024-09-09T17:04:48Z | instance-launched | 26ms | 3.43s |
build Set up job 2024-09-09T17:05:20.0221067Z | 2024-09-09T17:04:50Z | instance-pending | 1572ms | 5.00s |
build Set up job 2024-09-09T17:05:20.0222055Z | 2024-09-09T17:05:08Z | agent-booting | 18683ms | 23.68s |
build Set up job 2024-09-09T17:05:20.0223051Z | 2024-09-09T17:05:08Z | agent-metadata | 21ms | 23.70s |
build Set up job 2024-09-09T17:05:20.0224084Z | 2024-09-09T17:05:08Z | agent-userdata | 215ms | 23.92s |
build Set up job 2024-09-09T17:05:20.0225112Z | 2024-09-09T17:05:08Z | runner-env | 37ms | 23.96s |
build Set up job 2024-09-09T17:05:20.0226129Z | 2024-09-09T17:05:08Z | runner-setup-hooks | 0ms | 23.96s |
build Set up job 2024-09-09T17:05:20.0227166Z | 2024-09-09T17:05:10Z | runner-disk-setup | 1091ms | 25.05s |
build Set up job 2024-09-09T17:05:20.0228160Z | 2024-09-09T17:05:10Z | runner-setup-agent | 48ms | 25.10s |
build Set up job 2024-09-09T17:05:20.0229734Z | 2024-09-09T17:05:10Z | runner-chown-user | 0ms | 25.10s |
build Set up job 2024-09-09T17:05:20.0230634Z ##[endgroup]
build Set up job 2024-09-09T17:05:20.0248725Z Testing runner upgrade compatibility
build Set up job 2024-09-09T17:05:20.6787659Z ##[group]GITHUB_TOKEN Permissions
build Set up job 2024-09-09T17:05:20.6789958Z Contents: read
build Set up job 2024-09-09T17:05:20.6790702Z Metadata: read
build Set up job 2024-09-09T17:05:20.6791251Z Packages: read
build Set up job 2024-09-09T17:05:20.6791826Z ##[endgroup]
build Set up job 2024-09-09T17:05:20.6796044Z Secret source: Actions
build Set up job 2024-09-09T17:05:20.6796849Z Prepare workflow directory
build Set up job 2024-09-09T17:05:20.7586035Z Prepare all required actions
build Set up job 2024-09-09T17:05:20.7901878Z Complete job name: build
build Set up runner 2024-09-09T17:05:20.9495781Z A job started hook has been configured by the self-hosted runner administrator
build Set up runner 2024-09-09T17:05:21.0909000Z ##[group]Run '/opt/runs-on/pre.sh'
build Set up runner 2024-09-09T17:05:21.0944129Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
build Set up runner 2024-09-09T17:05:21.0944878Z ##[endgroup]
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1884436Z ##[group]Run echo "Hello from your Arm runner!"
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1885273Z echo "Hello from your Arm runner!"
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1914580Z shell: /usr/bin/bash -e {0}
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1915072Z env:
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1915428Z RUNS_ON_AGENT_ARCH: arm64
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1916056Z RUNS_ON_RUNNER_NAME: runs-on--i-03421942a716b3f2a--vPaXOcNxGv
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1916751Z RUNS_ON_AGENT_USER: runner
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1917378Z RUNS_ON_S3_BUCKET_CACHE: runs-on-s3bucketcache-wdz50kvdwgnk
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1918075Z RUNS_ON_AWS_REGION: us-west-2
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1918665Z ACTIONS_RUNNER_HOOK_JOB_STARTED: /opt/runs-on/pre.sh
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.1919277Z ##[endgroup]
build Run echo "Hello from your Arm runner!" 2024-09-09T17:05:21.2054907Z Hello from your Arm runner!
build Complete job 2024-09-09T17:05:21.2297627Z Cleaning up orphan processes