Skip to content

Configure git identity before rebase in auto-commit workflows#1474

Merged
andygrunwald merged 1 commit into
mainfrom
andygrunwald/fix-auto-commit-rebase-identity
Jun 5, 2026
Merged

Configure git identity before rebase in auto-commit workflows#1474
andygrunwald merged 1 commit into
mainfrom
andygrunwald/fix-auto-commit-rebase-identity

Conversation

@andygrunwald
Copy link
Copy Markdown
Contributor

Problem

The auto-commit workflows failed with fatal: empty ident name ... not allowed (exit 128) — see run 26842996203:

Push failed, pulling with rebase and retrying...
Rebasing (1/1)
Committer identity unknown
*** Please tell me who you are.
fatal: empty ident name (...) not allowed
Error: Process completed with exit code 128.

Root cause

These workflows use stefanzweifel/git-auto-commit-action with skip_push: true, then push via a custom "Push changes with retry" step that runs git pull --rebase origin main when the first push is rejected as non-fast-forward.

The action's commit_user_name / commit_user_email inputs apply only to the commit the action creates — they are not persisted to the repository's git config. When the retry step rebases, git replays the local commit and needs a committer identity from git config, which was never set → empty ident name.

Fix

Add a Configure git identity for rebase step that runs git config before the retry push, gated by the same changes_detected condition. This mirrors the working pattern already used in the data-generation repos (and podcast-metadata's state-manager.yml).

Applied to all 6 auto-commit workflows in this repo:

  • prettier.yml
  • check-tags-without-descriptions.yml
  • update-podcast-episodes-from-rss.yml
  • sync-german-tech-podcasts.yml
  • sync-awesome-software-engineering-movies.yml
  • sync-awesome-software-engineering-games.yml

Verification

  • Diff is additions only (one step per file).
  • Each step sits between the id: auto-commit step and Push changes with retry, matching each file's existing working-directory style.
  • End-to-end proof: the next run that hits a concurrent-push rebase completes without the empty ident name error.

🤖 Generated with Claude Code

The auto-commit workflows set commit_user_name/commit_user_email on the
git-auto-commit-action, but those inputs only apply to the commit the
action itself creates -- they are not persisted to the repository's git
config. With skip_push: true, the custom "Push changes with retry" step
runs `git pull --rebase origin main` when the first push is rejected as
non-fast-forward. The rebase replays the local commit and needs a
committer identity from git config, which was never set, so it fails
with "empty ident name ... not allowed" (exit 128).

Add a "Configure git identity for rebase" step that runs `git config`
before the retry push, matching the working pattern already used in the
data-generation repos. This makes the rebase-on-retry path resilient to
concurrent pushes to main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented Jun 5, 2026

Deploy Preview for nifty-bardeen-5c7e53 ready!

Name Link
🔨 Latest commit 49eac04
🔍 Latest deploy log https://app.netlify.com/projects/nifty-bardeen-5c7e53/deploys/6a232ec0a9b3bc00082ce143
😎 Deploy Preview https://deploy-preview-1474--nifty-bardeen-5c7e53.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@andygrunwald andygrunwald merged commit 1c7fcb8 into main Jun 5, 2026
5 checks passed
@andygrunwald andygrunwald deleted the andygrunwald/fix-auto-commit-rebase-identity branch June 5, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant