fix(webhooks): dispatch new QGs; stop false Gitea CI alerts (S-1)
- plane._try_advance_stage handles check_tests_local + check_reviewer_verdict - gitea.handle_ci_status: failure -> debug log only (CI not authoritative)
This commit is contained in:
@@ -194,8 +194,11 @@ async def handle_ci_status(payload: dict):
|
||||
notify_qg_failure(task_id, current_stage, "check_ci_green", reason)
|
||||
|
||||
elif state == "failure":
|
||||
logger.warning(f"Task {task_id}: CI failed on branch '{branch}'")
|
||||
notify_error(task_id, f"CI failed on branch '{branch}'")
|
||||
# S-1: Gitea CI is NOT the authoritative gate anymore (the orchestrator runs
|
||||
# tests locally via check_tests_local). Gitea CI is often unconfigured, so a
|
||||
# "failure"/empty status here is not actionable. Log only, do not alert.
|
||||
logger.debug(f"Task {task_id}: Gitea CI state='failure' on branch '{branch}' "
|
||||
f"(non-authoritative, suppressed — local tests are the gate)")
|
||||
|
||||
|
||||
async def handle_pr(payload: dict):
|
||||
|
||||
@@ -303,9 +303,9 @@ async def _try_advance_stage(
|
||||
return
|
||||
|
||||
# Determine args based on QG function
|
||||
if qg_name in ("check_analysis_approved", "check_analysis_complete", "check_architecture_done", "check_tests_passed"):
|
||||
if qg_name in ("check_analysis_approved", "check_analysis_complete", "check_architecture_done", "check_tests_passed", "check_reviewer_verdict"):
|
||||
passed, reason = qg_func(repo, work_item_id)
|
||||
elif qg_name == "check_ci_green":
|
||||
elif qg_name in ("check_ci_green", "check_tests_local"):
|
||||
passed, reason = qg_func(repo, branch)
|
||||
elif qg_name == "check_review_approved":
|
||||
# Find PR number by branch via Gitea API
|
||||
|
||||
Reference in New Issue
Block a user