You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flux2/.github/runners
Stefan Prodan 43437bf2d5
Update equinix runners
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
11 months ago
..
README.md Update equinix runners 11 months ago
prereq.sh Update equinix runners 11 months ago
runner-setup.sh Update equinix runners 11 months ago

README.md

Flux ARM64 GitHub runners

The Flux ARM64 end-to-end tests run on Equinix Metal instances provisioned with Docker and GitHub self-hosted runners.

Current instances

Repository Runner Instance Location
flux2 equinix-arm-dc-1 flux-arm-dc-01 Washington DC
flux2 equinix-arm-dc-2 flux-arm-dc-01 Washington DC
flux2 equinix-arm-da-1 flux-arm-da-01 Dallas
flux2 equinix-arm-da-2 flux-arm-da-01 Dallas
flux-benchmark equinix-arm-dc-1 flux-arm-dc-01 Washington DC
flux-benchmark equinix-arm-da-1 flux-arm-da-01 Dallas
source-controller equinix-arm-dc-1 flux-arm-dc-01 Washington DC
source-controller equinix-arm-da-1 flux-arm-da-01 Dallas
image-automation-controller equinix-arm-dc-1 flux-arm-dc-01 Washington DC
image-automation-controller equinix-arm-da-1 flux-arm-da-01 Dallas

Instance spec:

  • Ampere Altra Q80-30 80-core processor @ 2.8GHz
  • 2 x 960GB NVME
  • 256GB RAM
  • 2 x 25Gbps

Instance setup

In order to add a new runner to the GitHub Actions pool, first create a server on Equinix with the following configuration:

  • Type: c3.large.arm64
  • OS: Ubuntu 22.04 LTS

Install prerequisites

  • SSH into a newly created instance
ssh root@<instance-public-IP>
  • Create the ubuntu user
adduser ubuntu
usermod -aG sudo ubuntu
su - ubuntu
  • Create the prerequisites dir
mkdir -p prereq && cd prereq
  • Download the prerequisites script
curl -sL https://raw.githubusercontent.com/fluxcd/flux2/main/.github/runners/prereq.sh > prereq.sh \
  && chmod +x ./prereq.sh
  • Install the prerequisites
sudo ./prereq.sh

Install runners

  • Retrieve the GitHub runner token from the repository settings page

  • Create two directories flux2-01, flux2-02

  • In each dir run:

curl -sL https://raw.githubusercontent.com/fluxcd/flux2/main/.github/runners/runner-setup.sh > runner-setup.sh \
  && chmod +x ./runner-setup.sh

./runner-setup.sh equinix-arm-<NUMBER> <TOKEN> <REPO>
  • Reboot the instance
sudo reboot
  • Navigate to the GitHub repository runners page and check the runner status