Skip to content

Allow GitHub bots to pass EasyCLA using username alone (no fixed e-mail) #4701

@mlehotskylf

Description

@mlehotskylf

📚 Background

AI and other service bots (e.g., copilot-swe-agent[bot]) generate commits whose author e-mails are dynamic (<digits>[email protected]).
EasyCLA currently requires both GitHub username & e-mail to match, so these commits fail with MISSING ID ON COMMIT, blocking PRs. Two LF projects (OpenJS & CNCF) are already affected; more bots are expected soon.

🎯 Goal

Let maintainers explicitly mark selected bot usernames as “e-mail-optional” per repo/org, so commits from those bots are authorized using the username only (or use wildcard for email).

📝 High-Level Requirements

  • Data model – add skip_email_check flag scoped to GitHub Org/Repo + Username (bots should be authorized only for specific GH org or repo and should not be allowed to contribute to other GH orgs/repos)
  • Authorization logic – if flag is true, bypass e-mail check (or use wildcard for email), authorize, and log decision as BOT-BY-USERNAME.
  • Docs & comms – update EasyCLA docs site; announce in Slack
  • Security review – ensure only Support/Engineering team can enable bypass and cannot apply it to arbitrary human accounts.

✅ Acceptance Criteria

  1. Maintainer flags copilot-swe-agent[bot] → subsequent commits from that bot pass EasyCLA for the chosen repo/org.
  2. Unflagged accounts still require matching e-mail.
  3. Flagged scope is limited to the selected repo/org.
  4. Metric visible in log records (each bypass event).
  5. Documentation update published and shared with stakeholders.

⚠️ Risks & Mitigations

Risk: Maintainer mistakenly flags a human account.

Slack conversation: https://linuxfoundation.slack.com/archives/C0697E1QHNG/p1750276185125049

Samples:

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions