lifecycle icon indicating copy to clipboard operation
lifecycle copied to clipboard

Provision arm runner with Terraform

Open natalieparellano opened this issue 4 years ago • 5 comments

We currently have a machine in Equinix Metal that is manually provisioned. We should automate its setup.

See github.com/buildpacks/ci for how other self-hosted runners are provisioned.

natalieparellano avatar Aug 23 '21 22:08 natalieparellano

Blocked on https://github.com/buildpacks/lifecycle/issues/696

natalieparellano avatar Aug 23 '21 22:08 natalieparellano

Currently, we're installing jq in the test container by downloading from the releases page. However, there doesn't appear to be a binary currently for arm64: https://github.com/stedolan/jq/issues/2275. We may need to think of another solution.

Edit: looks like jq isn't needed for make test on the arm machine. We could see about removing the installation from test-linux-amd64.

natalieparellano avatar Aug 30 '21 16:08 natalieparellano

make format appears to fail on arm. We might need to update the format of our build directives.

natalieparellano avatar Aug 30 '21 16:08 natalieparellano

To install actions/runner:

# Create a folder
mkdir actions-runner && cd actions-runner
# Download the latest runner package
curl -O -L https://github.com/actions/runner/releases/download/v2.280.3/actions-runner-linux-arm64-2.280.3.tar.gz
# Optional: Validate the hash
echo "6b838e76a3ee3ead883e1b9b395e2044af473ccf78ed3ae86e94c8801a1b620b  actions-runner-linux-arm64-2.280.3.tar.gz" | shasum -a 256 -c
# Extract the installer
tar xzf ./actions-runner-linux-arm64-2.280.3.tar.gz
sudo bin/installdependencies.sh

mkdir $PWD/actions-runner-work

export RUNNER_ALLOW_RUNASROOT="1"

./config.sh --unattended \
  --labels "linux-arm64"\
  --work $PWD/actions-runner-work \
  --url https://github.com/buildpacks/lifecycle \
  --token $TOKEN

echo "> Installing service..."
sudo ./svc.sh install

echo "> Starting service..."
sudo ./svc.sh start

natalieparellano avatar Aug 30 '21 16:08 natalieparellano

Half-finished WIP branch: https://github.com/buildpacks/ci/tree/arm-runner/gh-runners/ubuntu-arm64

natalieparellano avatar Jan 14 '22 21:01 natalieparellano