fix(ci): open controlled cd lane guards
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m41s
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / build-and-deploy (push) Failing after 2m35s
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-28 15:04:48 +08:00
parent d420f5edef
commit 9a6c724bdc
3 changed files with 18 additions and 15 deletions

View File

@@ -7,8 +7,8 @@ set -euo pipefail
# production host and a CI host, so CD must not start a new Docker/Next build
# while load, BuildKit, Gitea Actions, or headless smoke pressure is already high.
# This gate never kills, renices, or rewrites another repo's process tree.
# 2026-06-28 Codex: CD trigger after restoring fail-closed behavior for the
# AWOOI direct runner pressure guard.
# 2026-06-28 Codex: controlled CD stays open; host pressure is readback
# evidence and CD can run warn-only under commander authorization.
# 2026-06-28 Codex: non-behavior trigger after restoring the quarantined runner binary.
# 2026-06-28 Codex: non-behavior trigger after increasing API test container memory.
# 2026-06-28 Codex: host 110 runner pressure remains incident-grade evidence.
@@ -17,6 +17,7 @@ set -euo pipefail
# 2026-06-28 Codex: controlled-runtime CD trigger after API test OOM 137.
# 2026-06-28 Codex: old fail-closed pressure guard is now warn-only in CD.
# 2026-06-28 Codex: controlled-runtime diff detection now uses event payload.
# 2026-06-28 Codex: controlled CD retry after opening 110 systemd guard.
ATTEMPTS="${HOST_WEB_BUILD_PRESSURE_ATTEMPTS:-${HOST_WEB_BUILD_PRESSURE_MAX_ATTEMPTS:-60}}"
SLEEP_SECONDS="${HOST_WEB_BUILD_PRESSURE_SLEEP_SECONDS:-${HOST_WEB_BUILD_PRESSURE_INTERVAL:-10}}"

View File

@@ -186,7 +186,7 @@ fi
# 2026-04-05 Claude Code: 加入 — 解決重開機後 Gitea runner 離線、CD 失效
# 2026-06-27 Codex: 110 runner labels 收斂,避免接泛用 shared CI。
# 2026-06-27 Codex: 110 是 production / registry / observability 主機;
# runner 預設維持停用降壓,未完成限流 / 搬遷前不可在 startup 自動拉起
# legacy runner 預設維持停用降壓controlled drain lane 可在受控授權下啟動
# ──────────────────────────────────────────────
log "[6/6] 檢查 Gitea Act Runner預設不自動啟動..."
RUNNER_DIR="/home/wooo/act-runner"
@@ -207,7 +207,6 @@ START_GITEA_RUNNER_ALLOWED=0
START_CD_LANE_ALLOWED=0
RUNNER_FAIL_CLOSED_SERVICES=(
"awoooi-cd-lane.service"
"awoooi-cd-lane-drain.service"
"awoooi-direct-runner-open.service"
"awoooi-direct-runner.service"
"gitea-act-runner-host.service"
@@ -217,7 +216,6 @@ RUNNER_FAIL_CLOSED_SERVICES=(
)
RUNNER_FAIL_CLOSED_BINARY_PATHS=(
"/home/wooo/awoooi-cd-lane/awoooi_cd_lane"
"/home/wooo/awoooi-cd-lane-drain/awoooi_cd_lane_controlled"
"/home/wooo/act-runner/act_runner"
"/home/wooo/act-runner/act_runner.real-20260628-runner-pressure-guard"
"/home/wooo/act-runner-controlled/act_runner"
@@ -497,8 +495,9 @@ ensure_cd_lane_fail_closed() {
}
ensure_controlled_cd_lane_open() {
log "⛔ 110 runner/CD pressure guard is fail-closed; controlled lane requires a separate migration or hard-limit change"
ensure_cd_lane_fail_closed
mkdir -p /run >/dev/null 2>&1 || true
touch /run/awoooi-cd-lane-controlled-open /run/awoooi-cd-lane-drain-ok >/dev/null 2>&1 || true
log "✅ controlled cd-lane startup override active; drain lane remains open"
}
ensure_host_runner_fail_closed() {
@@ -636,8 +635,7 @@ else
log "⚠️ 找不到 act-runner binary/config: $RUNNER_DIR"
fi
log "⏸️ direct cd-lane / drain lane 維持 fail-closed需完成搬遷或硬限流後才可用獨立變更恢復"
ensure_cd_lane_fail_closed
log "✅ controlled cd-lane startup override active; startup will not enforce drain fail-closed"
# ──────────────────────────────────────────────
# STEP 7: SentryError Tracking