Github Actions ARM64 runner on Oracle Cloud

VM instance

Since some time OCI provides Linux ARM64 VMs in their Free Tier. They are based on Ampere Altra 80 and you could use up to 4 vCPU cores @ 2.8GHz, 6GB of RAM per vCPU, i.e. up to 24GB, 45GB of disk and 1Gbps network bandwidth. I’d say it is a quite good offer for free!

  • Enter all required details (email, username, password, address, etc.)
  • Once you are ready with the registration sign in to OCI and create a new VM instance:
Create a VM instance (at the bottom)
  • The important part here is to select Ampere as a shape and the number of vCPUs
Ampere shape with 4 vCPUs and 24GB RAM
  • At this step you could also select the Linux distro and version. I prefer Ubuntu but you could also choose Oracle Linux. For now there is no ARM64 image for CentOS.
  • Before pressing the “Create” button don’t forget to give the instance a good name and to add SSH keys so that you could connect to it!

Runner

Once the VM instance is created we could start setting up the GHA runner(s)!

Add new self-hosted runner
  • Download a Linux ARM64 runner
Download the runner agent
  • Configure the runner
List of registered runners
  • Setup the runner as a service

Workflow

To make use of this runner you will need to update your project’s GHA workflow!

  • To execute particular workflow or a job on ARM64 runner you should use
  • To execute it on either x86_64 or ARM64 then use
  • If you want to run the workflow/job on both architectures then you will have to use the matrix support

More runner instances

By design GHA executes one job at a time on a runner instance. That is, if you have more than one jobs in your workflow(s) and just one self-hosted runner then they will be executed consecutively!

Security

There are some security concerns with GHA self-hosted runners for public repositories!

  • Approve workflow runs for public forks

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store