fix(ci): blink Gitea CI indicator only during actively running workflow runs

This commit is contained in:
2026-10-03 21:44:17 +02:00
parent 1b8677734b
commit cab2931461
2 changed files with 52 additions and 10 deletions
+17 -4
View File
@@ -144,10 +144,23 @@ class RealtimeRPGHandler(http.server.SimpleHTTPRequestHandler):
# 2. Collect Gitea Live PRs & Issues for Whiteboard Kanban strictly for target_project
try:
ci_res = subprocess.run(['docker', 'ps', '--filter', 'name=GITEA-ACTIONS', '--format', '{{.Names}}'], capture_output=True, text=True, timeout=2)
ci_containers = [l for l in ci_res.stdout.strip().split('\n') if l]
status["gitea"]["active_ci_jobs"] = len(ci_containers)
status["gitea"]["ci_status"] = "BUILDING" if len(ci_containers) > 0 else "PASSING"
# Check Gitea Actions API for actively running workflows
active_runs_count = 0
try:
req_runs = urllib.request.Request(
f"{GITEA_BASE_URL}/repos/openclaw/{target_project}/actions/runs?limit=10",
headers={'Authorization': f'token {GITEA_TOKEN}'}
)
with urllib.request.urlopen(req_runs, timeout=2) as resp:
runs_data = json.loads(resp.read().decode())
for r in runs_data.get("workflow_runs", []):
if r.get("status") in ["running", "waiting", "queued"]:
active_runs_count += 1
except Exception:
pass
status["gitea"]["active_ci_jobs"] = active_runs_count
status["gitea"]["ci_status"] = "BUILDING" if active_runs_count > 0 else "PASSING"
# Fetch Open Pull Requests
req_prs = urllib.request.Request(