feat: replace arm with x86 worker
This commit is contained in:
parent
7c41de2318
commit
cceb054188
5 changed files with 36 additions and 14 deletions
5
configs/ci-runner/daemon.json
Normal file
5
configs/ci-runner/daemon.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"features": {
|
||||
"containerd-snapshotter": true
|
||||
}
|
||||
}
|
|
@ -11,4 +11,4 @@ ExecStart=forgejo-runner daemon --config /etc/act/config.yaml
|
|||
WorkingDirectory=/var/lib/runner
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=default.target
|
||||
|
|
|
@ -9,14 +9,15 @@ runner:
|
|||
capacity: 1
|
||||
envs:
|
||||
DOCKER_HOST: unix:///var/run/docker.sock
|
||||
timeout: 30m
|
||||
timeout: 3h
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
labels:
|
||||
- "docker:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64"
|
||||
- "ubuntu-latest:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64"
|
||||
- "ubuntu-22.04:docker://code.icb4dc0.de/infrastructure/images/act_runtime:22.04-arm64"
|
||||
- "ubuntu-24.04:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64"
|
||||
- "docker:docker://code.icb4dc0.de/infrastructure/images/act_runtime:24.04"
|
||||
- "ubuntu-latest:docker://code.icb4dc0.de/infrastructure/images/act_runtime:24.04"
|
||||
- "ubuntu-22.04:docker://code.icb4dc0.de/infrastructure/images/act_runtime:22.04"
|
||||
- "ubuntu-latest-${arch}:docker://code.icb4dc0.de/infrastructure/images/act_runtime:24.04"
|
||||
- "ubuntu-22.04-${arch}:docker://code.icb4dc0.de/infrastructure/images/act_runtime:22.04"
|
||||
|
||||
cache:
|
||||
enabled: true
|
||||
|
|
|
@ -92,8 +92,6 @@ data "cloudinit_config" "runner_config" {
|
|||
- ca-certificates
|
||||
- curl
|
||||
- gnupg
|
||||
- qemu-user
|
||||
- qemu-user-binfmt
|
||||
- lsb-release
|
||||
- docker-ce
|
||||
- docker-ce-cli
|
||||
|
@ -103,7 +101,7 @@ data "cloudinit_config" "runner_config" {
|
|||
apt:
|
||||
sources:
|
||||
docker.list:
|
||||
source: "deb [arch=arm64 signed-by=$KEY_FILE] https://download.docker.com/linux/ubuntu $RELEASE stable"
|
||||
source: "deb [arch=${startswith(each.value.server_type, "cax") ? "arm64" : "amd64"} signed-by=$KEY_FILE] https://download.docker.com/linux/ubuntu $RELEASE stable"
|
||||
keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
|
||||
EOF
|
||||
}
|
||||
|
@ -126,11 +124,27 @@ data "cloudinit_config" "runner_config" {
|
|||
defer: true
|
||||
|
||||
- encoding: gzip+base64
|
||||
content: ${base64gzip(file("configs/ci-runner/runner-config.yaml"))}
|
||||
content: ${base64gzip(templatefile("configs/ci-runner/runner-config.yaml", {
|
||||
arch = startswith(each.value.server_type, "cax") ? "arm64" : "amd64"
|
||||
}))}
|
||||
path: /etc/act/config.yaml
|
||||
owner: runner:runner
|
||||
permissions: "0640"
|
||||
defer: true
|
||||
|
||||
- encoding: gzip+base64
|
||||
content: ${base64gzip(file("configs/ci-runner/daemon.json"))}
|
||||
path: /etc/docker/daemon.json
|
||||
owner: root:root
|
||||
permissions: "0640"
|
||||
defer: true
|
||||
|
||||
- encoding: gzip+base64
|
||||
content: ${base64gzip(file("configs/ci-runner/daemon.json"))}
|
||||
path: /var/lib/runner/.config/docker/daemon.json
|
||||
owner: runner:runner
|
||||
permissions: "0640"
|
||||
defer: true
|
||||
EOF
|
||||
}
|
||||
|
||||
|
@ -142,17 +156,19 @@ data "cloudinit_config" "runner_config" {
|
|||
set -e
|
||||
loginctl enable-linger runner
|
||||
|
||||
docker run --privileged --rm tonistiigi/binfmt --install all
|
||||
|
||||
sleep 10
|
||||
|
||||
sudo -u runner DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/dockerd-rootless-setuptool.sh install --force
|
||||
|
||||
curl -L -o /usr/local/bin/forgejo-runner https://data.forgejo.org/forgejo/runner/releases/download/v${var.forgejo_runner_version}/forgejo-runner-${var.forgejo_runner_version}-linux-arm64
|
||||
curl -L -o /tmp/forgejo-runner.asc https://data.forgejo.org/forgejo/runner/releases/download/v${var.forgejo_runner_version}/forgejo-runner-${var.forgejo_runner_version}-linux-arm64.asc
|
||||
curl -L -o /usr/local/bin/forgejo-runner https://data.forgejo.org/forgejo/runner/releases/download/v${var.forgejo_runner_version}/forgejo-runner-${var.forgejo_runner_version}-linux-${startswith(each.value.server_type, "cax") ? "arm64" : "amd64"}
|
||||
curl -L -o /tmp/forgejo-runner.asc https://data.forgejo.org/forgejo/runner/releases/download/v${var.forgejo_runner_version}/forgejo-runner-${var.forgejo_runner_version}-linux-${startswith(each.value.server_type, "cax") ? "arm64" : "amd64"}.asc
|
||||
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
|
||||
gpg --verify /tmp/forgejo-runner.asc /usr/local/bin/forgejo-runner
|
||||
chmod +x /usr/local/bin/forgejo-runner
|
||||
|
||||
sudo -u runner forgejo-runner register --config /etc/act/config.yaml --no-interactive --token ${var.forgejo_runner_secret} --name ${each.key} --instance ${var.forgejo_instance_url} --labels docker:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64,ubuntu-latest:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64,ubuntu-22.04:docker://code.icb4dc0.de/infrastructure/images/act_runtime:22.04-arm64,ubuntu-24.04:docker://code.icb4dc0.de/infrastructure/images/act_runtime:arm64
|
||||
sudo -u runner forgejo-runner register --config /etc/act/config.yaml --no-interactive --token ${var.forgejo_runner_secret} --name ${each.key} --instance ${var.forgejo_instance_url}
|
||||
|
||||
sudo -u runner DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus XDG_RUNTIME_DIR=/run/user/1000 systemctl --user enable --now forgejo-runner.service
|
||||
EOF
|
||||
|
|
|
@ -46,7 +46,7 @@ forgejo_runners = {
|
|||
}
|
||||
|
||||
"ci-minion-stuart" = {
|
||||
server_type = "cax21"
|
||||
server_type = "cpx21"
|
||||
generation = 2
|
||||
private_ip = "172.23.2.31"
|
||||
location = "hel1"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue