ci(prettier): run on pull_request and check only changed files
The push-only trigger skipped fork PRs entirely (e.g. #2378, which merged the unformatted nightly workflow with no format check run), and the whole-repo check made every open PR go red for files it never touched once one bad file landed on main. Trigger on pull_request so every PR is checked regardless of origin, and diff against the merge base so a PR is only ever red for its own files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
983e0de1ef
commit
71a232a0f2
|
|
@ -1,17 +1,13 @@
|
|||
name: Prettier
|
||||
|
||||
# Check-only: reports formatting issues without modifying the branch.
|
||||
# The job fails (and annotates unformatted files) when `prettier --check`
|
||||
# finds files that are not formatted, but it never writes, commits, or
|
||||
# pushes anything back to the PR. Developers run `npx prettier@3 --write .`
|
||||
# Runs on pull_request (so fork PRs are checked too) and only checks the
|
||||
# files the PR actually changed, so a PR can never go red for unformatted
|
||||
# files it did not touch. Developers run `npx prettier@3 --write <files>`
|
||||
# locally to fix the reported files.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- main
|
||||
- "entire/**"
|
||||
- "worktree-**"
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
format:
|
||||
|
|
@ -20,6 +16,12 @@ jobs:
|
|||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
# Full history so the merge-base with the PR base branch exists.
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Check formatting with Prettier
|
||||
run: npx --yes prettier@3 --check .
|
||||
- name: Check formatting of changed files with Prettier
|
||||
run: |
|
||||
git diff --name-only -z --diff-filter=d \
|
||||
"origin/${{ github.base_ref }}...HEAD" \
|
||||
| xargs -0 --no-run-if-empty npx --yes prettier@3 --check --ignore-unknown
|
||||
|
|
|
|||
Loading…
Reference in New Issue