android13/external/libbpf/travis-ci/rootfs/s390x-self-hosted-builder
liiir1985 7f62dcda9f initial 2024-06-22 20:45:49 +08:00
..
fs/usr/bin initial 2024-06-22 20:45:49 +08:00
README.md initial 2024-06-22 20:45:49 +08:00
actions-runner-libbpf.Dockerfile initial 2024-06-22 20:45:49 +08:00
actions-runner-libbpf.service initial 2024-06-22 20:45:49 +08:00
qemu-user-static.service initial 2024-06-22 20:45:49 +08:00

README.md

IBM Z self-hosted builder

libbpf CI uses an IBM-provided z15 self-hosted builder. There are no IBM Z builds of GitHub Actions runner, and stable qemu-user has problems with .NET apps, so the builder runs the x86_64 runner version with qemu-user built from the master branch.

Configuring the builder.

Install prerequisites.

$ sudo dnf install docker        # RHEL
$ sudo apt install -y docker.io  # Ubuntu

Add services.

$ sudo cp *.service /etc/systemd/system/
$ sudo systemctl daemon-reload

Create a config file.

$ sudo tee /etc/actions-runner-libbpf
repo=<owner>/<name>
access_token=<ghp_***>

Access token should have the repo scope, consult https://docs.github.com/en/rest/reference/actions#create-a-registration-token-for-a-repository for details.

Autostart the x86_64 emulation support.

$ sudo systemctl enable --now qemu-user-static

Autostart the runner.

$ sudo systemctl enable --now actions-runner-libbpf

Rebuilding the image

In order to update the iiilinuxibmcom/actions-runner-libbpf image, e.g. to get the latest OS security fixes, use the following commands:

$ sudo docker build \
      --pull \
      -f actions-runner-libbpf.Dockerfile \
      -t iiilinuxibmcom/actions-runner-libbpf \
      .
$ sudo systemctl restart actions-runner-libbpf

Removing persistent data

The actions-runner-libbpf service stores various temporary data, such as runner registration information, work directories and logs, in the actions-runner-libbpf volume. In order to remove it and start from scratch, e.g. when upgrading the runner or switching it to a different repository, use the following commands:

$ sudo systemctl stop actions-runner-libbpf
$ sudo docker rm -f actions-runner-libbpf
$ sudo docker volume rm actions-runner-libbpf