Rebase pushes with the machine-user PAT (action-translation#125)#187
Merged
Conversation
Commits pushed with the default GITHUB_TOKEN trigger no workflows, so a rebased branch gets a run-less head: force-pushed re-translated content lands unreviewed, and with required checks a run-less head blocks merging. Measured both ways on the test harness 2026-07-21 — zero runs under GITHUB_TOKEN, review triggered under the PAT. Sync mode has always passed the PAT for exactly this reason; rebase pushing to the same PRs with a weaker token was an inconsistency, not a decision. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for astonishing-narwhal-a8fc64 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Pull request overview
Updates the translation rebase GitHub Actions workflow to push rebased commits using the machine-user PAT, ensuring the post-rebase branch head triggers downstream workflows (avoiding “run-less head” scenarios caused by GITHUB_TOKEN recursion guard).
Changes:
- Switch
github-tokeninput fromsecrets.GITHUB_TOKENtosecrets.QUANTECON_SERVICES_PATfor the rebase action step. - Add inline documentation explaining why the PAT is required and linking to QuantEcon/action-translation#125.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fork PRs never receive secrets, so the PAT is not exposed — but a merged fork PR whose branch matched a translation prefix would start the job with an empty token and fail red. Skip it instead. Mirrors action-translation#130. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the production half of action-translation#125: the rebase workflow now pushes with the machine-user PAT instead of the default
GITHUB_TOKEN.Why
Commits pushed with
GITHUB_TOKENdo not trigger workflows — GitHub's recursion guard — so a rebased branch ends up with a run-less head: force-pushed re-translated content lands unreviewed, and with required status checks a run-less head blocks merging. Measured both ways on the test harness, same repo, same day: 13GITHUB_TOKEN-rebased heads with zero workflow runs, versus a PAT-refreshed head whose review workflow triggered normally.This is the same reasoning sync mode has always applied — its PRs trigger the review workflow because it passes the PAT. Rebase pushing to the same PRs with a weaker token was an inconsistency, not a decision.
Safety
closed; the runs a PAT push triggers (CI, review) never push back.pull_requestworkflows triggered from forks regardless of repo visibility, and the job'sifonly matches branch prefixes the tooling creates.Input required and not supplied: github-token).The harness (
test-translation-sync.zh-cn) has carried this exact configuration in steady state since validation.🤖 Generated with Claude Code