9e8f1bbeed
Dashboard / frontend (push) Failing after 0s
Dashboard / api (push) Failing after 0s
Lint PowerShell / powershell-lint (ubuntu-latest) (push) Failing after 1s
Python Lint / Lint Python with Ruff (push) Failing after 1s
ShellCheck / Lint shell scripts (push) Failing after 1s
Matrix Smoke / linux-smoke (push) Failing after 1s
Matrix Smoke / distro: cachyos (push) Failing after 15s
Matrix Smoke / distro: linux-mint-21.3 (push) Failing after 15s
Matrix Smoke / distro: debian-12 (push) Failing after 5m21s
Matrix Smoke / distro: fedora-41 (push) Failing after 4m56s
Matrix Smoke / distro: ubuntu-24.04 (push) Failing after 2m13s
Matrix Smoke / distro: rocky-9 (push) Failing after 10m39s
Matrix Smoke / distro: manjaro (push) Failing after 12m11s
Matrix Smoke / distro: opensuse-tw (push) Failing after 11m53s
Matrix Smoke / distro: archlinux (push) Failing after 20m3s
Matrix Smoke / distro: ubuntu-22.04 (push) Failing after 13m49s
Validate .env Schema / tier-1-env-validation (push) Successful in 52s
Validate .env Schema / tier-2-env-validation (push) Successful in 44s
Validate .env Schema / tier-3-env-validation (push) Successful in 52s
Validate .env Schema / tier-4-env-validation (push) Successful in 51s
Validate Extensions Catalog / Check catalog is up-to-date (push) Failing after 9m47s
Secret Scan / Scan for secrets (push) Failing after 21m4s
Validate Docker Compose / Validate Docker Compose files (push) Has been cancelled
Python Type Check / Type check with mypy (push) Has been cancelled
Validate .env Schema / tier-0-env-validation (push) Has been cancelled
Test Linux / integration-smoke (push) Has been cancelled
Lint PowerShell / powershell-lint (windows-latest) (push) Has been cancelled
Matrix Smoke / macos-smoke (push) Has been cancelled
37 lines
1.2 KiB
Bash
37 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
fail() {
|
|
echo "[FAIL] $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
pass() {
|
|
echo "[OK] $*"
|
|
}
|
|
|
|
SERVICE="scripts/systemd/ods-host-agent.service"
|
|
UNINSTALL="ods-uninstall.sh"
|
|
AGENT="bin/ods-host-agent.py"
|
|
|
|
grep -q '^TimeoutStopSec=15$' "$SERVICE" \
|
|
|| fail "ods-host-agent systemd unit must bound service stop time"
|
|
pass "systemd unit has bounded stop timeout"
|
|
|
|
grep -q 'timeout 20s sudo systemctl disable --now ods-host-agent.service' "$UNINSTALL" \
|
|
|| fail "uninstall must bound systemctl disable --now for old/stuck host-agent services"
|
|
grep -q 'systemctl kill -s SIGKILL ods-host-agent.service' "$UNINSTALL" \
|
|
|| fail "uninstall must force-kill a stuck host-agent service after bounded stop"
|
|
pass "uninstall has bounded stop plus force-kill fallback"
|
|
|
|
grep -q 'def _request_server_shutdown' "$AGENT" \
|
|
|| fail "host-agent must expose async-safe shutdown helper"
|
|
grep -q 'target=server.shutdown' "$AGENT" \
|
|
|| fail "host-agent shutdown helper must call server.shutdown from a helper thread"
|
|
grep -q 'signal.SIGTERM.*_request_server_shutdown' "$AGENT" \
|
|
|| fail "host-agent SIGTERM handler must use async-safe shutdown helper"
|
|
pass "host-agent SIGTERM path is async-safe"
|