fix(#627): Integrate quality gate with pipeline orchestrator
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 33s
Smoke Test / smoke (pull_request) Failing after 31s
Validate Config / YAML Lint (pull_request) Failing after 28s
Validate Config / JSON Validate (pull_request) Successful in 24s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 1m19s
Validate Config / Shell Script Lint (pull_request) Failing after 1m9s
Validate Config / Cron Syntax Check (pull_request) Successful in 11s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 11s
Validate Config / Playbook Schema Validation (pull_request) Successful in 16s
PR Checklist / pr-checklist (pull_request) Failing after 6m56s
Architecture Lint / Lint Repository (pull_request) Has been cancelled
Validate Config / Python Test Suite (pull_request) Has been cancelled
Some checks failed
Architecture Lint / Linter Tests (pull_request) Successful in 33s
Smoke Test / smoke (pull_request) Failing after 31s
Validate Config / YAML Lint (pull_request) Failing after 28s
Validate Config / JSON Validate (pull_request) Successful in 24s
Validate Config / Python Syntax & Import Check (pull_request) Failing after 1m19s
Validate Config / Shell Script Lint (pull_request) Failing after 1m9s
Validate Config / Cron Syntax Check (pull_request) Successful in 11s
Validate Config / Deploy Script Dry Run (pull_request) Successful in 11s
Validate Config / Playbook Schema Validation (pull_request) Successful in 16s
PR Checklist / pr-checklist (pull_request) Failing after 6m56s
Architecture Lint / Lint Repository (pull_request) Has been cancelled
Validate Config / Python Test Suite (pull_request) Has been cancelled
- Import task_gate.pre_task_gate - Call pre_task_gate before assign_issue in dispatch_cycle - Track gate pass/fail statistics - Add gate stats to orchestrator report - Handle gate errors gracefully
This commit is contained in:
@@ -19,6 +19,18 @@ import urllib.error
|
||||
import urllib.parse
|
||||
from datetime import datetime, timezone
|
||||
|
||||
|
||||
# Quality gate integration (#627)
|
||||
try:
|
||||
from scripts.task_gate import pre_task_gate, post_task_gate
|
||||
QUALITY_GATE_AVAILABLE = True
|
||||
except ImportError:
|
||||
QUALITY_GATE_AVAILABLE = False
|
||||
print('[WARN] task_gate not available -- quality checks disabled')
|
||||
|
||||
# Pipeline statistics
|
||||
PIPELINE_STATS = {"gate_pass": 0, "gate_fail": 0, "gate_warn": 0, "requeued": 0}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CONFIG
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -531,6 +543,11 @@ def generate_report(backlog, dispatched, skipped, agent_status, dry_run=False):
|
||||
# Top 5 unassigned
|
||||
unassigned = [i for i in backlog if not i["assignees"]][:5]
|
||||
lines.append("-- Top 5 Unassigned (by priority) --")
|
||||
# Quality gate statistics (#627)
|
||||
if any(PIPELINE_STATS.values()):
|
||||
lines.append("-- Quality Gate --")
|
||||
lines.append(f" Passed: {PIPELINE_STATS['gate_pass']} | Failed: {PIPELINE_STATS['gate_fail']} | Warnings: {PIPELINE_STATS['gate_warn']}")
|
||||
lines.append("")
|
||||
for i in unassigned:
|
||||
lines.append(f" [{i['score']}] {i['repo']}#{i['number']}: {i['title'][:55]}")
|
||||
lines.append("")
|
||||
|
||||
Reference in New Issue
Block a user