Skip to content

Self-hosted runners

GitHub Actions is used to do CI on Stack. The linux-arm64 job of the integration-tests.yml workflow runs on a self-hosted runner for Linux and ARM64.

The basic setup is:

  • FP Complete has an Oracle Cloud account that provides a free tier that includes a really powerful ARM64 machine;
  • within Oracle Cloud, FP Complete are running an Ubuntu/ARM64 instance; and
  • on that instance, FP Complete are running the GitHub Runner software.

Occasionally Oracle will turn off the machine because:

  • Oracle thinks it is not being used (because of the free tier); and/or
  • other things, like disk space filling up.

Managing the runner

With the appropriate authority installed on the server, the runner can be managed remotely using SSH, with command ssh ubuntu@arm-runner.stackage.org.

The available disk space can be queried with command df -h; the relevant entry is for filesystem /dev/sda1.

If the available space is low, that may be due to unncessary GHC versions installed in Stack's programs directory.