• Home
Name Date Size #Lines LOC

..--

fs/usr/bin/03-May-2024-7739

README.mdD03-May-20241.8 KiB7555

actions-runner-libbpf.DockerfileD03-May-20241.5 KiB5144

actions-runner-libbpf.serviceD03-May-2024745 2522

qemu-user-static.serviceD03-May-2024470 129

README.md

1# IBM Z self-hosted builder
2
3libbpf CI uses an IBM-provided z15 self-hosted builder. There are no IBM Z
4builds of GitHub Actions runner, and stable qemu-user has problems with .NET
5apps, so the builder runs the x86_64 runner version with qemu-user built from
6the master branch.
7
8## Configuring the builder.
9
10### Install prerequisites.
11
12```
13$ sudo dnf install docker        # RHEL
14$ sudo apt install -y docker.io  # Ubuntu
15```
16
17### Add services.
18
19```
20$ sudo cp *.service /etc/systemd/system/
21$ sudo systemctl daemon-reload
22```
23
24### Create a config file.
25
26```
27$ sudo tee /etc/actions-runner-libbpf
28repo=<owner>/<name>
29access_token=<ghp_***>
30```
31
32Access token should have the repo scope, consult
33https://docs.github.com/en/rest/reference/actions#create-a-registration-token-for-a-repository
34for details.
35
36### Autostart the x86_64 emulation support.
37
38```
39$ sudo systemctl enable --now qemu-user-static
40```
41
42### Autostart the runner.
43
44```
45$ sudo systemctl enable --now actions-runner-libbpf
46```
47
48## Rebuilding the image
49
50In order to update the `iiilinuxibmcom/actions-runner-libbpf` image, e.g. to
51get the latest OS security fixes, use the following commands:
52
53```
54$ sudo docker build \
55      --pull \
56      -f actions-runner-libbpf.Dockerfile \
57      -t iiilinuxibmcom/actions-runner-libbpf \
58      .
59$ sudo systemctl restart actions-runner-libbpf
60```
61
62## Removing persistent data
63
64The `actions-runner-libbpf` service stores various temporary data, such as
65runner registration information, work directories and logs, in the
66`actions-runner-libbpf` volume. In order to remove it and start from scratch,
67e.g. when upgrading the runner or switching it to a different repository, use
68the following commands:
69
70```
71$ sudo systemctl stop actions-runner-libbpf
72$ sudo docker rm -f actions-runner-libbpf
73$ sudo docker volume rm actions-runner-libbpf
74```
75