added test setup key #1
@ -73,23 +73,34 @@ jobs:
|
||||
print(f"[{env}] Reconciler call failed: {e}")
|
||||
continue
|
||||
|
||||
# Format as markdown
|
||||
# Format as markdown grouped by action
|
||||
ops = data.get("operations", [])
|
||||
summary = data.get("summary", {})
|
||||
lines = [f"## Reconciliation Plan: `{env}`\n"]
|
||||
if not ops:
|
||||
lines.append("No changes detected.\n")
|
||||
else:
|
||||
lines.append("| Operation | Name |")
|
||||
lines.append("|-----------|------|")
|
||||
groups = {"Create": [], "Update": [], "Delete": []}
|
||||
for op in ops:
|
||||
lines.append(f"| `{op['type']}` | {op['name']} |")
|
||||
lines.append("")
|
||||
lines.append(
|
||||
f"**Summary:** {summary.get('created',0)} create, "
|
||||
f"{summary.get('updated',0)} update, "
|
||||
f"{summary.get('deleted',0)} delete"
|
||||
)
|
||||
t = op["type"]
|
||||
if t.startswith("create"): groups["Create"].append(op)
|
||||
elif t.startswith("delete"): groups["Delete"].append(op)
|
||||
else: groups["Update"].append(op)
|
||||
|
||||
for action, items in groups.items():
|
||||
if not items:
|
||||
continue
|
||||
emoji = {"Create": "+", "Update": "~", "Delete": "-"}[action]
|
||||
lines.append(f"### {action} ({len(items)})\n")
|
||||
lines.append("| Resource | Name |")
|
||||
lines.append("|----------|------|")
|
||||
for op in items:
|
||||
resource = op["type"].split("_", 1)[1] if "_" in op["type"] else op["type"]
|
||||
lines.append(f"| {resource} | {op['name']} |")
|
||||
lines.append("")
|
||||
|
||||
c, u, d = summary.get("created", 0), summary.get("updated", 0), summary.get("deleted", 0)
|
||||
lines.append(f"**Total: {c} create, {u} update, {d} delete**")
|
||||
comment = "\n".join(lines)
|
||||
print(comment)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user