Skip to content

fix: use bot user ID for proper avatar attribution in commits#7491

Merged
paulbalaji merged 1 commit intomainfrom
fix/gonk-bot-avatar
Dec 1, 2025
Merged

fix: use bot user ID for proper avatar attribution in commits#7491
paulbalaji merged 1 commit intomainfrom
fix/gonk-bot-avatar

Conversation

@paulbalaji
Copy link
Collaborator

@paulbalaji paulbalaji commented Dec 1, 2025

Summary

  • Fixes hyper-gonk[bot] commits showing default robot avatar instead of the GitHub App's custom logo
  • Updates release workflows that use the Hyper Gonk bot to fetch the bot user ID via API before configuring git

Problem

GitHub requires the bot user ID (not app ID) in the commit email to properly display the GitHub App's avatar.

Before: {APP_ID}+{app-slug}[bot]@users.noreply.github.com
After: {BOT_USER_ID}+{app-slug}[bot]@users.noreply.github.com

Test plan

  • Merge this PR and verify the next automated commit from hyper-gonk[bot] shows the correct avatar

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Improved GitHub Actions workflows for release automation by enhancing bot user identification configuration across multiple release processes.

✏️ Tip: You can customize this high-level summary in your review settings.

GitHub requires the bot user ID (not app ID) in the commit email
to properly display the GitHub App's avatar. This adds an API call
to fetch the bot user ID before configuring git.

Format change:
- Before: {APP_ID}+{app-slug}[bot]@users.noreply.github.com
- After: {BOT_USER_ID}+{app-slug}[bot]@users.noreply.github.com

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@changeset-bot
Copy link

changeset-bot bot commented Dec 1, 2025

⚠️ No Changeset found

Latest commit: 2bd9a83

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@paulbalaji paulbalaji marked this pull request as ready for review December 1, 2025 15:23
@paulbalaji paulbalaji enabled auto-merge December 1, 2025 15:23
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 1, 2025

📝 Walkthrough

Walkthrough

Two GitHub Actions release workflows were updated to fetch the bot user ID from the GitHub API after token generation, then use that ID to construct the git config email for commits, replacing the previous approach of using the app ID secret directly.

Changes

Cohort / File(s) Summary
GitHub Actions Release Workflows
.github/workflows/release.yml, .github/workflows/rust-release.yml
Added new step to retrieve bot user ID via GitHub API and expose it as output; updated git config email composition to use the fetched user ID instead of the app ID secret

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

These are straightforward workflow configuration changes with a consistent pattern applied across two files. The modifications follow a clear, repeatable template: fetch user ID, wire it into git config. No complex logic or branching—just tying a new data source into existing setup steps.

  • Minor attention points: Verify that the GitHub API call reliably retrieves the correct bot user ID and that the environment variable (GH_TOKEN) is properly scoped and available in both workflows.

Possibly related PRs

Suggested reviewers

  • xeno097
  • Xaroz

Poem

Like ogres and onions, workflows have layers,
fetch what ye need from the API stairs,
no more app IDs in the git config mire,
just user IDs flowing, fueling the fire. 🧅⚙️

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: fixing bot avatar attribution by using the bot user ID instead of the app ID in commit emails.
Description check ✅ Passed The description includes a clear summary, problem explanation with before/after examples, and a test plan, though it lacks explicit sections matching the template structure.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/gonk-bot-avatar

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/rust-release.yml (1)

186-189: Implementation looks solid, but consider one minor consistency tweak.

The inline bot user ID retrieval works correctly and solves the avatar attribution problem. The pattern mirrors the release.yml approach, though structured differently (inline vs. separate step). One small thing: release.yml explicitly sets GH_TOKEN in the env, while this file relies on GITHUB_TOKEN. Both work—gh cli will use GITHUB_TOKEN as a fallback—but making it explicit (like in release.yml) would improve clarity for future maintainers.

Consider adding GH_TOKEN to the env for consistency:

       - name: Create or update release PR
         env:
           GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
+          GH_TOKEN: ${{ steps.generate-token.outputs.token }}
           NEW_VERSION: ${{ steps.next_version.outputs.new_version }}
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 337378b and 2bd9a83.

📒 Files selected for processing (2)
  • .github/workflows/release.yml (1 hunks)
  • .github/workflows/rust-release.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (46)
  • GitHub Check: cli-evm-e2e-matrix (warp-send)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-config)
  • GitHub Check: cli-evm-e2e-matrix (warp-read)
  • GitHub Check: cli-evm-e2e-matrix (warp-deploy-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-basic)
  • GitHub Check: cli-evm-e2e-matrix (warp-rebalancer)
  • GitHub Check: cli-evm-e2e-matrix (warp-deploy-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-extend-recovery)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-ism-updates)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-3)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-5)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-2)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-check-4)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-1)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-submitters)
  • GitHub Check: cli-evm-e2e-matrix (warp-apply-2)
  • GitHub Check: cli-evm-e2e-matrix (relay)
  • GitHub Check: cli-evm-e2e-matrix (warp-bridge-2)
  • GitHub Check: cli-evm-e2e-matrix (core-deploy)
  • GitHub Check: cli-evm-e2e-matrix (core-apply)
  • GitHub Check: env-test-matrix (testnet4, sepolia, core)
  • GitHub Check: cli-evm-e2e-matrix (core-check)
  • GitHub Check: env-test-matrix (mainnet3, arbitrum, core)
  • GitHub Check: env-test-matrix (mainnet3, optimism, core)
  • GitHub Check: env-test-matrix (mainnet3, inevm, core)
  • GitHub Check: env-test-matrix (mainnet3, ethereum, core)
  • GitHub Check: env-test-matrix (mainnet3, inevm, igp)
  • GitHub Check: cosmos-sdk-e2e-run
  • GitHub Check: cli-radix-e2e-matrix (warp-deploy)
  • GitHub Check: cli-radix-e2e-matrix (warp-apply-route-extension)
  • GitHub Check: cli-radix-e2e-matrix (warp-apply-ownership-updates)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-read)
  • GitHub Check: cli-cross-chain-e2e-matrix (warp-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (warp-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (core-read)
  • GitHub Check: cli-radix-e2e-matrix (core-deploy)
  • GitHub Check: cli-cosmos-e2e-matrix (core-deploy)
  • GitHub Check: cli-cross-chain-e2e-matrix (warp-apply)
  • GitHub Check: cli-cosmos-e2e-matrix (core-check)
  • GitHub Check: cli-cosmos-e2e-matrix (core-apply)
  • GitHub Check: e2e-matrix (evm)
  • GitHub Check: lint-rs
  • GitHub Check: lander-coverage
  • GitHub Check: test-rs
🔇 Additional comments (1)
.github/workflows/release.yml (1)

65-74: Spot-on approach to fetch the bot user ID for proper avatar attribution.

The implementation is sound—fetching the bot user ID from the GitHub API and using it in the git config email follows GitHub's requirements for displaying the app's custom avatar. The GH_TOKEN is properly wired from the generated app token, and the output is correctly captured for use in the subsequent git config step.

@paulbalaji paulbalaji added this pull request to the merge queue Dec 1, 2025
Merged via the queue into main with commit 804abcf Dec 1, 2025
79 of 82 checks passed
@paulbalaji paulbalaji deleted the fix/gonk-bot-avatar branch December 1, 2025 15:58
@github-project-automation github-project-automation bot moved this from In Review to Done in Hyperlane Tasks Dec 1, 2025
@codecov
Copy link

codecov bot commented Dec 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (43f1c9f) to head (2bd9a83).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff      @@
##   main   #7491   +/-   ##
============================
============================
Components Coverage Δ
core ∅ <ø> (∅)
hooks ∅ <ø> (∅)
isms ∅ <ø> (∅)
token ∅ <ø> (∅)
middlewares ∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants