From e81674e3d07e7638e564ea36e2b3935b0b7a1391 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Sat, 4 Oct 2025 10:35:44 +0200 Subject: [PATCH 1/2] allow ignoring by email --- ci/release_contributors.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/ci/release_contributors.py b/ci/release_contributors.py index 50501233f60..9e0fac6eceb 100644 --- a/ci/release_contributors.py +++ b/ci/release_contributors.py @@ -7,6 +7,25 @@ co_author_re = re.compile(r"Co-authored-by: (?P[^<]+?) <(?P.+)>") +ignored = [ + {"name": "dependabot[bot]"}, + {"name": "pre-commit-ci[bot]"}, + {"name": "Claude", "email": "noreply@anthropic.com"}, +] + + +def is_ignored(name, email): + # linear search, for now + for ignore in ignored: + if ignore["name"] != name: + continue + ignored_email = ignore.get("email") + if ignored_email is None or email in ignored_email: + return True + + return False + + def main(): repo = git.Repo(".") @@ -22,11 +41,8 @@ def main(): # deduplicate and ignore # TODO: extract ignores from .github/release.yml - ignored = ["dependabot", "pre-commit-ci"] unique_contributors = unique( - contributor - for contributor in contributors.values() - if contributor.removesuffix("[bot]") not in ignored + name for email, name in contributors.items() if not is_ignored(name, email) ) sorted_ = sorted(unique_contributors) From 13639b7dcf5682525256894eefeece2b2ee270ed Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Sat, 4 Oct 2025 10:36:15 +0200 Subject: [PATCH 2/2] add more email addresses for the AI agent Claude --- ci/release_contributors.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ci/release_contributors.py b/ci/release_contributors.py index 9e0fac6eceb..071264eec56 100644 --- a/ci/release_contributors.py +++ b/ci/release_contributors.py @@ -10,7 +10,14 @@ ignored = [ {"name": "dependabot[bot]"}, {"name": "pre-commit-ci[bot]"}, - {"name": "Claude", "email": "noreply@anthropic.com"}, + { + "name": "Claude", + "email": [ + "noreply@anthropic.com", + "claude@anthropic.com", + "no-reply@anthropic.com", + ], + }, ]