Repository navigation
fix(ci): add pr-review.yml to .prettierignore and use GH_PAT_WORKFLOWS for autofix pushes #627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
don-petry
wants to merge
31
commits into
main
Choose a base branch
from
fix/ci-autofix-token-and-prettierignore
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
2f925e8
fix(ci): add pr-review.yml to .prettierignore and use GH_PAT_WORKFLOW…
don-petry 960d907
fix(ci): isolate GH_PAT_WORKFLOWS to push step to prevent credential …
don-petry 2d50290
fix(ci): prevent branch name injection in git push with token
don-petry a2c9835
fix(ci): do not persist checkout credentials in autofix job
don-petry 2478e66
fix(reviews): push autofix from a clean checkout job so PR hooks neve…
don-petry 1976d10
fix(reviews): pass autofix patch via artifact instead of job output
don-petry 770c369
fix(reviews): require GH_PAT_WORKFLOWS for autofix push
don-petry ddddcbc
Merge main (org renamed to combsmith) into fix/ci-autofix-token-and-p…
don-petry f352fc7
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry f26af8c
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 1849bde
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 8685d28
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry d7f4068
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry ede291d
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
rachel-petry 9de7d48
fix(ci): restrict autofix patch to non-workflow tracked files and pre…
rachel-petry a87b9f5
fix(ci): harden autofix workflow-path guard with NUL-delimited checks
rachel-petry 2757d3b
fix(ci): verify staged autofix tree before upload and guard against s…
rachel-petry 51780d2
fix(ci): reduce autofix-push GITHUB_TOKEN permission to contents: read
rachel-petry ed8bea7
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 4f0a4f5
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 47b601b
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 9d68422
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 825cbde
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry ce7dd46
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 71596e7
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 05c657b
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 1285bd1
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry e3c814b
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 9575495
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 5749cb2
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry 9f0831f
Merge branch 'main' into fix/ci-autofix-token-and-prettierignore
don-petry File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Block workflow-path renames before the patch export.
git add -u -- . ':(exclude).github/workflows'does not remove workflow entries that are already staged. PR-controlled tooling runs before this step and can stagegit mv .github/workflows/a.yml src/a.txt. The export then emits a rename whose source is a workflow file. Both consumer guards check only the destination path, so they do not reject it. Theautofix-pushjob applies the patch and pushes it with the PAT, which removes a workflow file.Fail the export when the index contains any workflow path:
Suggested fix
The pathspec limits rename pairing to
.github/workflows. A staged rename therefore appears as a deletion of the workflow source, and the check fails. The check runs beforegit add, so it also covers a workflow change staged by an earlier tool step.Whether the removed workflow reaches the branch depends on the PAT's scopes and the branch protection rules. This review did not check either one. The guard exists to block this path, so the bypass is still a defect.
Committable suggestion