From 6ff1212f211f2f6f9224b61c9aaae76916c30fff Mon Sep 17 00:00:00 2001 From: Prox Date: Fri, 6 Mar 2026 18:16:13 +0200 Subject: [PATCH] markdown improvement --- .gitea/workflows/dry-run.yml | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/dry-run.yml b/.gitea/workflows/dry-run.yml index ca8f821..393f39f 100644 --- a/.gitea/workflows/dry-run.yml +++ b/.gitea/workflows/dry-run.yml @@ -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)