This commit is contained in:
2025-12-21 06:40:52 -08:00
parent 4ee06afd80
commit 8e45b0eccb

View File

@@ -1,8 +1,10 @@
#!/bin/bash
# Copyright (c) 2022 fithwum
# All rights reserved
set -eu
USER=fithwum
FILE=config.yaml
# openssh
apt-get install openssh-client openssh-server
@@ -39,10 +41,50 @@ wget https://gitea.com/gitea/act_runner/releases/download/v0.2.13/act_runner-0.2
mv act_runner-*-linux-amd64 act_runner
chmod +x act_runner
./act_runner generate-config | tee config.yaml > /dev/null
./act_runner generate-config | tee $FILE > /dev/null
chown fithwum:docker act_runner
chown fithwum:docker config.yaml
./act_runner --config config.yaml register
chown fithwum:docker $FILE
############################################################################################
# Count label entries inside the labels block
LABEL_COUNT=$(awk '
$0 ~ /^ labels:/ {in=1; next}
in && $0 ~ /^ - / {c++}
in && NF==0 {in=0}
END {print c+0}
' "$FILE")
if [ "$LABEL_COUNT" -ne 3 ]; then
echo "[ERROR] Expected exactly 3 labels, found $LABEL_COUNT. Aborting."
exit 1
fi
# Verify expected existing labels
awk '
$0 ~ /^ labels:/ {in=1; next}
in && $0 ~ /^ - / {print}
in && NF==0 {exit}
' "$FILE" | grep -qx ' - "vm-ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"' \
&& grep -qx ' - "vm-ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"' \
&& grep -qx ' - "vm-ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"' \
|| {
echo "[ERROR] Existing labels do not match expected values. Aborting."
exit 1
}
# Replace block
sed -i '/^ labels:/,/^$/c\
labels:\n\
- "vm-ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"\n\
- "vm-ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"\n\
- "vm-ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"\n\
- "vm-docker-build:docker://catthehacker/ubuntu:custom-latest-20240215"\n\
- "vm-docker-build2:docker://catthehacker/ubuntu:act-latest"' "$FILE"
echo "[OK] labels block updated safely."
############################################################################################
./act_runner --config $FILE register
./act_runner register --no-interactive --instance <instance_url> --token <registration_token> --name <runner_name>
@@ -53,7 +95,7 @@ Documentation=https://gitea.com/gitea/act_runner
After=docker.service
[Service]
ExecStart=/usr/local/bin/act_runner daemon --config /usr/local/bin/config.yaml
ExecStart=/usr/local/bin/act_runner daemon --config /usr/local/bin/$FILE
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/usr/local/bin
TimeoutSec=0