From f6c1b51a57f6e2fc6b5114a7ce0975fbdfbdad67 Mon Sep 17 00:00:00 2001 From: ehl-jf Date: Fri, 22 May 2026 09:04:11 +0200 Subject: [PATCH] Skip PRs labeled "ignore for release" and commits marked [skip-release-notes] --- .github/workflows/release-notes-aggregator.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-notes-aggregator.yml b/.github/workflows/release-notes-aggregator.yml index 4201d7e22..037e5563e 100644 --- a/.github/workflows/release-notes-aggregator.yml +++ b/.github/workflows/release-notes-aggregator.yml @@ -209,24 +209,32 @@ jobs: for c in commits: sha = c["sha"] - first_line = c["commit"]["message"].split("\n")[0] + message = c["commit"]["message"] + first_line = message.split("\n")[0] # Skip dep-bump commits in the main repo if repo == REPO and re.search(r"\bbump\b", first_line, re.I): continue + # Skip commits opting out via marker (works for direct commits too) + if re.search(r"\[skip[- ]release[- ]notes\]", message, re.I): + continue + pr_list = api_paged(f"/repos/{repo}/commits/{sha}/pulls") if pr_list: for pr in pr_list: n = pr["number"] if n in seen or not pr.get("merged_at"): continue + labels = [l["name"] for l in pr.get("labels", [])] + if any(lbl.lower() == "ignore for release" for lbl in labels): + continue seen.add(n) results.append({ "number": n, "title": pr["title"], "url": pr["html_url"], "author": pr["user"]["login"], - "labels": [l["name"] for l in pr.get("labels", [])], + "labels": labels, "repo": repo, "sha": sha[:12], })