Skip to content

fix(changelog): find original author of agentic commits#39

Merged
MrkMrk00 merged 1 commit into
mainfrom
fix/find-author-in-agentic-commits
Jun 28, 2026
Merged

fix(changelog): find original author of agentic commits#39
MrkMrk00 merged 1 commit into
mainfrom
fix/find-author-in-agentic-commits

Conversation

@MrkMrk00

@MrkMrk00 MrkMrk00 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

This PR replaces the custom handling of Copilot's commits by a generic Co-authored-by trailer parsing. All of the commit authors and co-authors will be returned as changelog authors.

Also adds an option to ignore certain GitHub user names from the changelog authors via the action's input: ignore-authors. (By default Copilot,Claude)

@MrkMrk00 MrkMrk00 requested a review from Copilot June 24, 2026 11:03
@MrkMrk00 MrkMrk00 self-assigned this Jun 24, 2026
@MrkMrk00 MrkMrk00 added the adhoc Ad-hoc unplanned task added during the sprint. label Jun 24, 2026
@github-actions github-actions Bot added t-infra Issues with this label are in the ownership of the infrastructure team. tested Temporary label used only programatically for some analytics. labels Jun 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates author attribution for changelog generation by removing Copilot-specific commit handling and instead parsing generic Co-authored-by: trailers so that co-authors can be attributed alongside primary commit authors.

Changes:

  • Replaces findOriginalAuthorOfCopilotCommit with a generic getCommitCoauthors trailer parser.
  • Attaches parsed coauthors to each commit author entry produced during changelog generation.
  • Updates Slack ID resolution to consider both primary authors and commit coauthors.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
src/utils.js Removes Copilot-special-casing and adds getCommitCoauthors; stores parsed coauthors alongside commit authors.
src/utils.test.js Updates and expands unit tests to validate Co-authored-by: parsing behavior via getCommitCoauthors.
src/getAuthorsWithSlackIds.js Refactors Slack ID resolution to work across primary authors plus coauthors and uses org member info mapping.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/utils.js Outdated
Comment thread src/utils.js Outdated
Comment thread src/getAuthorsWithSlackIds.js Outdated
MrkMrk00 pushed a commit that referenced this pull request Jun 26, 2026
…utors

Addresses the Copilot review on PR #39:

- Co-authors overwrite (utils.js): instead of storing co-authors in a
  per-author field that a later commit could overwrite, every
  `Co-authored-by` trailer now becomes a first-class entry in the authors
  map (keyed by login). This drops co-authors no more, regardless of how
  many commits an author has, and works whether or not Slack IDs are
  fetched. getCommitCoauthors now returns { login, name, email }.

- getAuthorsWithSlackIds no longer drops contributors. Restored to the
  documented contract (action.yml / PR description): return every author
  and attach `slackId` only when it can be resolved, rather than filtering
  out anyone without an org email or Slack match.

Rebuilt dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvWuyXuTp7HFAExnfjG91b
MrkMrk00 added a commit that referenced this pull request Jun 28, 2026
fix(changelog): make co-authors first-class authors; keep all contributors

Addresses the Copilot review on PR #39:

- Co-authors overwrite (utils.js): instead of storing co-authors in a
  per-author field that a later commit could overwrite, every
  `Co-authored-by` trailer now becomes a first-class entry in the authors
  map (keyed by login). This drops co-authors no more, regardless of how
  many commits an author has, and works whether or not Slack IDs are
  fetched. getCommitCoauthors now returns { login, name, email }.

- getAuthorsWithSlackIds no longer drops contributors. Restored to the
  documented contract (action.yml / PR description): return every author
  and attach `slackId` only when it can be resolved, rather than filtering
  out anyone without an org email or Slack match.

Rebuilt dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvWuyXuTp7HFAExnfjG91b

feat(changelog): exclude bots and ignored logins from authors

Adds bot/author filtering so release notifications don't tag automation
accounts (Copilot, Claude) while still crediting the real humans behind
their commits:

- Commit authors with GitHub account type "Bot" are always skipped.
- New `ignore-authors` input (comma-separated logins, default
  "Copilot,Claude", matched case-insensitively) excludes both commit
  authors and `Co-authored-by` trailers. A bot commit's real co-authors
  are still kept.

Rebuilt dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvWuyXuTp7HFAExnfjG91b

fix(changelog): find original author of agentic commits
@MrkMrk00 MrkMrk00 force-pushed the fix/find-author-in-agentic-commits branch from ab9e81d to cf5625a Compare June 28, 2026 13:13
@MrkMrk00 MrkMrk00 requested a review from Copilot June 28, 2026 13:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 6 changed files in this pull request and generated 5 comments.

Comment thread src/utils.js
Comment thread src/utils.js
Comment thread action.yml
Comment thread src/utils.js
Comment thread src/utils.js
fix(changelog): make co-authors first-class authors; keep all contributors

Addresses the Copilot review on PR #39:

- Co-authors overwrite (utils.js): instead of storing co-authors in a
  per-author field that a later commit could overwrite, every
  `Co-authored-by` trailer now becomes a first-class entry in the authors
  map (keyed by login). This drops co-authors no more, regardless of how
  many commits an author has, and works whether or not Slack IDs are
  fetched. getCommitCoauthors now returns { login, name, email }.

- getAuthorsWithSlackIds no longer drops contributors. Restored to the
  documented contract (action.yml / PR description): return every author
  and attach `slackId` only when it can be resolved, rather than filtering
  out anyone without an org email or Slack match.

Rebuilt dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvWuyXuTp7HFAExnfjG91b

feat(changelog): exclude bots and ignored logins from authors

Adds bot/author filtering so release notifications don't tag automation
accounts (Copilot, Claude) while still crediting the real humans behind
their commits:

- Commit authors with GitHub account type "Bot" are always skipped.
- New `ignore-authors` input (comma-separated logins, default
  "Copilot,Claude", matched case-insensitively) excludes both commit
  authors and `Co-authored-by` trailers. A bot commit's real co-authors
  are still kept.

Rebuilt dist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HvWuyXuTp7HFAExnfjG91b

fix(changelog): find original author of agentic commits
@MrkMrk00 MrkMrk00 force-pushed the fix/find-author-in-agentic-commits branch from cf5625a to 9fd6980 Compare June 28, 2026 13:33
@MrkMrk00 MrkMrk00 requested a review from fnesveda June 28, 2026 13:34
@MrkMrk00 MrkMrk00 marked this pull request as ready for review June 28, 2026 13:34
@MrkMrk00 MrkMrk00 merged commit c572132 into main Jun 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-infra Issues with this label are in the ownership of the infrastructure team. tested Temporary label used only programatically for some analytics.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants