generated from coulomb/repo-seed
Implement Gitea Actions runner substrate
Some checks failed
Forge Runner Smoke / compatibility-smoke (push) Has been cancelled
Some checks failed
Forge Runner Smoke / compatibility-smoke (push) Has been cancelled
This commit is contained in:
104
tools/gitea-runner-status.sh
Normal file
104
tools/gitea-runner-status.sh
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -u
|
||||
|
||||
GITEA_URL="${GITEA_URL:-https://gitea.coulomb.social}"
|
||||
RUNNER_HOST="${RUNNER_HOST:-haskelseed}"
|
||||
RUNNER_SSH_USER="${RUNNER_SSH_USER:-}"
|
||||
RUNNER_SSH_KEY="${RUNNER_SSH_KEY:-}"
|
||||
SSH_CONNECT_TIMEOUT="${SSH_CONNECT_TIMEOUT:-5}"
|
||||
INTER_HUB_IMAGE="${INTER_HUB_IMAGE:-92.205.130.254:32166/coulomb/inter-hub}"
|
||||
INTER_HUB_TAGS="${INTER_HUB_TAGS:-91037a4 ae9e497 fa96fb8 7cc3173 latest}"
|
||||
|
||||
section() {
|
||||
printf '\n## %s\n' "$1"
|
||||
}
|
||||
|
||||
have() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
tool_line() {
|
||||
if have "$1"; then
|
||||
printf 'ok: %s -> %s\n' "$1" "$(command -v "$1")"
|
||||
else
|
||||
printf 'missing: %s\n' "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
http_code() {
|
||||
curl -sS -m 8 -o /dev/null -w '%{http_code}' "$1" 2>/dev/null || printf 'error'
|
||||
}
|
||||
|
||||
section "Tool availability"
|
||||
for tool in curl ssh docker skopeo act_runner; do
|
||||
tool_line "$tool"
|
||||
done
|
||||
|
||||
section "Public endpoint checks"
|
||||
if have curl; then
|
||||
printf 'gitea root: %s\n' "$(http_code "${GITEA_URL}/")"
|
||||
printf 'gitea api version: %s\n' "$(http_code "${GITEA_URL}/api/v1/version")"
|
||||
printf 'gitea registry /v2: %s\n' "$(http_code "${GITEA_URL}/v2/")"
|
||||
printf 'gitea pypi simple root: %s\n' "$(http_code "${GITEA_URL}/api/packages/coulomb/pypi/simple/")"
|
||||
printf 'inter-hub api /api/v2/hubs: %s\n' "$(http_code "https://hub.coulomb.social/api/v2/hubs")"
|
||||
else
|
||||
echo "curl missing; skipping endpoint checks"
|
||||
fi
|
||||
|
||||
section "Runner host probe"
|
||||
if have ssh; then
|
||||
ssh_target="${RUNNER_HOST}"
|
||||
if [ -n "${RUNNER_SSH_USER}" ]; then
|
||||
ssh_target="${RUNNER_SSH_USER}@${RUNNER_HOST}"
|
||||
fi
|
||||
ssh_args=(-o BatchMode=yes -o ConnectTimeout="${SSH_CONNECT_TIMEOUT}")
|
||||
if [ -n "${RUNNER_SSH_KEY}" ]; then
|
||||
ssh_args+=(-i "${RUNNER_SSH_KEY}")
|
||||
fi
|
||||
ssh "${ssh_args[@]}" "${ssh_target}" '
|
||||
set -u
|
||||
echo "host=$(hostname)"
|
||||
if command -v act_runner >/dev/null 2>&1; then
|
||||
act_runner --version || true
|
||||
else
|
||||
echo "missing: act_runner"
|
||||
fi
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl is-active act_runner 2>/dev/null || true
|
||||
systemctl is-active gitea-act-runner 2>/dev/null || true
|
||||
fi
|
||||
if command -v rc-service >/dev/null 2>&1; then
|
||||
rc-service act_runner status 2>/dev/null || true
|
||||
rc-service gitea-act-runner status 2>/dev/null || true
|
||||
rc-status 2>/dev/null | grep -Ei "act|runner|docker|podman|nix" || true
|
||||
fi
|
||||
if command -v pgrep >/dev/null 2>&1; then
|
||||
pgrep -a act_runner || true
|
||||
pgrep -a runner || true
|
||||
fi
|
||||
if [ -f /root/.runner ]; then
|
||||
echo "runner_registration=/root/.runner"
|
||||
grep -nE "\"(uuid|name|address|labels|ephemeral)\"" /root/.runner || true
|
||||
sed -n "8,20p" /root/.runner 2>/dev/null || true
|
||||
fi
|
||||
' 2>&1 || echo "runner host probe failed for ${RUNNER_HOST}"
|
||||
else
|
||||
echo "ssh missing; skipping runner host probe"
|
||||
fi
|
||||
|
||||
section "Inter-hub registry tags"
|
||||
if have skopeo; then
|
||||
for tag in ${INTER_HUB_TAGS}; do
|
||||
if out="$(skopeo inspect --tls-verify=false --format '{{.Name}} {{.Digest}}' "docker://${INTER_HUB_IMAGE}:${tag}" 2>&1)"; then
|
||||
printf 'ok: %s %s\n' "${tag}" "${out}"
|
||||
else
|
||||
printf 'missing-or-error: %s %s\n' "${tag}" "${out}"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "skopeo missing; skipping registry tag inspection"
|
||||
fi
|
||||
|
||||
section "Evidence reminder"
|
||||
echo "Record non-secret results in docs/gitea-actions-runner-evidence.md and State Hub."
|
||||
Reference in New Issue
Block a user