mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-14 09:27:41 +00:00
fix: restore fork PR lint/format CI workflow (#9846)
## Problem The lint/format CI workflow was broken for fork PRs in two ways: ### 1. Node version mismatch in setup-frontend action The `setup-frontend` shared action (created in #8377) was missed when Node version was standardized to `.nvmrc` in #9521. It still used `node-version: 'lts/*'` instead of `node-version-file: '.nvmrc'`. ### 2. Fork PRs with lint issues silently passed CI Fork PRs with auto-fixable lint/format issues got a **green checkmark** despite having unfixed issues: 1. Auto-fix steps (`lint:fix`, `format`) fix issues in the workspace 2. `Commit changes` is correctly skipped for forks (can't push to fork branches) 3. `Final validation` passes because it runs on the already-fixed workspace 4. The `Comment on PR about manual fix needed` step tries to post a comment via `actions/github-script`, but fork PRs have a read-only `GITHUB_TOKEN` — the comment silently fails (`continue-on-error: true`) 5. **Result**: workflow reports success, contributor thinks their code is clean ## Fix - **setup-frontend**: Use `node-version-file: '.nvmrc'` instead of `node-version: 'lts/*'` - **ci-lint-format**: Replace the broken fork comment step with an explicit `exit 1` that fails CI and prints clear fix instructions in the log. This follows the principle from `.github/AGENTS.md`: fork PRs can't post comments, so don't try. ## Testing - [ ] Verify fork PRs with clean code still pass - [ ] Verify fork PRs with lint issues now properly fail (instead of silently passing) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-9846-fix-restore-fork-PR-lint-format-CI-workflow-3226d73d3650811cb5bfe9f1f989cc0c) by [Unito](https://www.unito.io)
This commit is contained in:
29
.github/workflows/ci-lint-format.yaml
vendored
29
.github/workflows/ci-lint-format.yaml
vendored
@@ -61,6 +61,22 @@ jobs:
|
||||
git commit -m "[automated] Apply ESLint and Oxfmt fixes"
|
||||
git push
|
||||
|
||||
- name: Fail for fork PRs with unfixed lint/format issues
|
||||
if: steps.verify-changed-files.outputs.changed == 'true' && github.event.pull_request.head.repo.full_name != github.repository
|
||||
run: |
|
||||
echo "::error::Linting/formatting issues found. Since this PR is from a fork, auto-fix cannot be applied automatically."
|
||||
echo ""
|
||||
echo "Please run these commands locally and push the changes:"
|
||||
echo " pnpm lint:fix"
|
||||
echo " pnpm stylelint:fix"
|
||||
echo " pnpm format"
|
||||
echo ""
|
||||
echo "Or set up pre-commit hooks to automatically format on every commit:"
|
||||
echo " pnpm prepare"
|
||||
echo ""
|
||||
echo "See CONTRIBUTING.md for more details."
|
||||
exit 1
|
||||
|
||||
- name: Final validation
|
||||
run: |
|
||||
pnpm lint
|
||||
@@ -84,16 +100,3 @@ jobs:
|
||||
repo: context.repo.repo,
|
||||
body: '## 🔧 Auto-fixes Applied\n\nThis PR has been automatically updated to fix linting and formatting issues.\n\n**⚠️ Important**: Your local branch is now behind. Run `git pull` before making additional changes to avoid conflicts.\n\n### Changes made:\n- ESLint auto-fixes\n- Oxfmt formatting'
|
||||
})
|
||||
|
||||
- name: Comment on PR about manual fix needed
|
||||
if: steps.verify-changed-files.outputs.changed == 'true' && github.event.pull_request.head.repo.full_name != github.repository
|
||||
continue-on-error: true
|
||||
uses: actions/github-script@v8
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: '## ⚠️ Linting/Formatting Issues Found\n\nThis PR has linting or formatting issues that need to be fixed.\n\n**Since this PR is from a fork, auto-fix cannot be applied automatically.**\n\n### Option 1: Set up pre-commit hooks (recommended)\nRun this once to automatically format code on every commit:\n```bash\npnpm prepare\n```\n\n### Option 2: Fix manually\nRun these commands and push the changes:\n```bash\npnpm lint:fix\npnpm format\n```\n\nSee [CONTRIBUTING.md](https://github.com/Comfy-Org/ComfyUI_frontend/blob/main/CONTRIBUTING.md#git-pre-commit-hooks) for more details.'
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user