Skip to content

Commit 8db8958

Browse files
Merge remote-tracking branch 'origin/main' into glary/design-system-brand-yellow-f2ff59
# Conflicts: # .github/workflows/ci-tests-e2e.yaml
2 parents 14c118a + b2d6e41 commit 8db8958

779 files changed

Lines changed: 10394 additions & 5803 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coderabbit.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ reviews:
55
profile: assertive
66
high_level_summary: false
77
request_changes_workflow: true
8+
# Without this, a review that never happened (rate limit, internal error)
9+
# still reports green, so an unreviewed PR is indistinguishable from a
10+
# cleanly reviewed one.
11+
fail_commit_status: true
812
auto_review:
913
drafts: true
1014
ignore_title_keywords:

.github/ISSUE_TEMPLATE/bug-report.yaml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ body:
2626
id: reproduce
2727
attributes:
2828
label: Steps to Reproduce
29-
description: How can we reproduce this issue? Please attach your workflow (JSON or PNG).
29+
description: How can we reproduce this issue?
3030
placeholder: |
3131
1. Add a KSampler node
3232
2. Connect it to...
@@ -39,6 +39,22 @@ body:
3939
validations:
4040
required: true
4141

42+
- type: textarea
43+
id: workflow
44+
attributes:
45+
label: Workflow
46+
description: |
47+
**This is the single most useful thing you can give us.** A workflow that reproduces the
48+
bug lets us write a regression test matching your exact setup, so the bug stays fixed.
49+
50+
Export it with **Workflow → Export** in the menu, then drag the `.json` file into this box.
51+
A PNG saved by ComfyUI also works — it has the workflow embedded.
52+
53+
If the bug has nothing to do with a specific workflow, write "N/A".
54+
placeholder: Drag your workflow .json or .png here, or write N/A
55+
validations:
56+
required: true
57+
4258
- type: dropdown
4359
id: severity
4460
attributes:
@@ -56,8 +72,8 @@ body:
5672
id: version
5773
attributes:
5874
label: ComfyUI Frontend Version
59-
description: Found in Settings > About (e.g., "1.3.45")
60-
placeholder: '1.3.45'
75+
description: Open **Settings About** and copy the frontend version shown there. Please give the actual version, not the example.
76+
placeholder: 'e.g. 1.49.2'
6177
validations:
6278
required: true
6379

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Questions and usage help
4+
url: https://discord.com/invite/comfyorg
5+
about: For "how do I…" questions, setup help, and general usage, ask in Discord — you will get an answer faster there.
6+
- name: Documentation
7+
url: https://docs.comfy.org
8+
about: Guides, node reference, and troubleshooting.
9+
- name: Custom node problems
10+
url: https://github.com/Comfy-Org/ComfyUI-Manager/issues
11+
about: If the problem only happens with a specific custom node installed, report it to that node's repository or to ComfyUI-Manager.
12+
- name: Backend, sampling, or model issues
13+
url: https://github.com/Comfy-Org/ComfyUI/issues
14+
about: For errors during generation, VRAM problems, model loading, or samplers — those live in the core ComfyUI repository.

.github/actions/find-workflow-run/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ runs:
2929
steps:
3030
- name: Find workflow run
3131
id: find
32-
uses: actions/github-script@v8
32+
uses: actions/github-script@v9
3333
env:
3434
WORKFLOW_ID: ${{ inputs.workflow-id }}
3535
HEAD_SHA: ${{ inputs.head-sha }}

.github/actions/resolve-pr-from-workflow-run/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ runs:
3232
steps:
3333
- name: Resolve PR
3434
id: resolve
35-
uses: actions/github-script@v8
35+
uses: actions/github-script@v9
3636
with:
3737
github-token: ${{ inputs.token }}
3838
script: |

.github/actions/upsert-comment-section/action.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ inputs:
2626
runs:
2727
using: composite
2828
steps:
29-
- uses: actions/github-script@v8
29+
- uses: actions/github-script@v9
3030
env:
3131
INPUT_PR_NUMBER: ${{ inputs.pr-number }}
3232
INPUT_SECTION_NAME: ${{ inputs.section-name }}

.github/workflows/ci-lint-format.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
- name: Comment on PR about auto-fix
7979
if: steps.verify-changed-files.outputs.changed == 'true' && github.event.pull_request.head.repo.full_name == github.repository
8080
continue-on-error: true
81-
uses: actions/github-script@v8
81+
uses: actions/github-script@v9
8282
with:
8383
script: |
8484
github.rest.issues.createComment({

.github/workflows/ci-tests-e2e-coverage.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,16 @@ jobs:
8585
fi
8686
done
8787
88+
- name: Assert coverage was mapped back to source
89+
if: steps.coverage-shards.outputs.has-coverage == 'true'
90+
run: |
91+
MAPPED_SF=$(grep -cE '^SF:(src|packages)/' coverage/playwright/coverage.lcov || true)
92+
echo "Source-mapped files: $MAPPED_SF" >> "$GITHUB_STEP_SUMMARY"
93+
if [ "${MAPPED_SF:-0}" -lt 100 ]; then
94+
echo "::error::Only $MAPPED_SF files under src/ or packages/ in the merged tracefile. Observed paths: $(grep -m 5 '^SF:' coverage/playwright/coverage.lcov | tr '\n' ' '). Served bundle paths mean the E2E build dropped its '//# sourceMappingURL=' comment — check it ran with COLLECT_COVERAGE=true (vite.config.mts build.sourcemap)."
95+
exit 1
96+
fi
97+
8898
- name: Strip non-source entries from coverage
8999
if: steps.coverage-shards.outputs.has-coverage == 'true'
90100
run: |
@@ -106,7 +116,7 @@ jobs:
106116

107117
- name: Upload E2E coverage to Codecov
108118
if: steps.coverage-shards.outputs.has-coverage == 'true'
109-
uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3
119+
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
110120
with:
111121
files: coverage/playwright/coverage.lcov
112122
flags: e2e

.github/workflows/ci-tests-e2e.yaml

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
outputs:
2222
should-run: ${{ steps.changes.outputs.should-run }}
2323
steps:
24-
- uses: actions/checkout@v7
24+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2525
- id: changes
2626
uses: ./.github/actions/changes-filter
2727

@@ -31,15 +31,17 @@ jobs:
3131
runs-on: ubuntu-latest
3232
steps:
3333
- name: Checkout repository
34-
uses: actions/checkout@v7
34+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3535
- name: Setup frontend
3636
uses: ./.github/actions/setup-frontend
3737
with:
3838
include_build_step: true
39+
env:
40+
COLLECT_COVERAGE: 'true'
3941

4042
# Upload only built dist/ (containerized test jobs will pnpm install without cache)
4143
- name: Upload built frontend
42-
uses: actions/upload-artifact@v6
44+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
4345
with:
4446
name: frontend-dist
4547
path: dist/
@@ -68,9 +70,9 @@ jobs:
6870
shardTotal: [16]
6971
steps:
7072
- name: Checkout repository
71-
uses: actions/checkout@v7
73+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
7274
- name: Download built frontend
73-
uses: actions/download-artifact@v8
75+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
7476
with:
7577
name: frontend-dist
7678
path: dist/
@@ -90,7 +92,7 @@ jobs:
9092
COLLECT_COVERAGE: 'true'
9193

9294
- name: Upload blob report
93-
uses: actions/upload-artifact@v6
95+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
9496
if: ${{ !cancelled() }}
9597
with:
9698
name: blob-report-chromium-${{ matrix.shardIndex }}
@@ -99,7 +101,7 @@ jobs:
99101

100102
- name: Upload shard coverage data
101103
if: always()
102-
uses: actions/upload-artifact@v6
104+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
103105
with:
104106
name: e2e-coverage-shard-${{ matrix.shardIndex }}
105107
path: coverage/playwright/
@@ -126,9 +128,9 @@ jobs:
126128
[chromium-2x, chromium-0.5x, mobile-chrome, cloud, mobile-safari]
127129
steps:
128130
- name: Checkout repository
129-
uses: actions/checkout@v7
131+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
130132
- name: Download built frontend
131-
uses: actions/download-artifact@v8
133+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
132134
with:
133135
name: ${{ (matrix.browser == 'cloud' || matrix.browser == 'mobile-safari') && 'frontend-dist-cloud' || 'frontend-dist' }}
134136
path: dist/
@@ -156,7 +158,7 @@ jobs:
156158
pnpm exec playwright merge-reports --reporter=json ./blob-report
157159
158160
- name: Upload Playwright report
159-
uses: actions/upload-artifact@v6
161+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
160162
if: always()
161163
with:
162164
name: playwright-report-${{ matrix.browser }}
@@ -175,7 +177,7 @@ jobs:
175177
version: 10
176178

177179
- name: Download blob reports
178-
uses: actions/download-artifact@v8
180+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
179181
with:
180182
path: ./all-blob-reports
181183
pattern: blob-report-chromium-*
@@ -190,7 +192,7 @@ jobs:
190192
pnpm dlx @playwright/test merge-reports --reporter=json ./all-blob-reports
191193
192194
- name: Upload HTML report
193-
uses: actions/upload-artifact@v6
195+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
194196
with:
195197
name: playwright-report-chromium
196198
path: ./playwright-report/
@@ -232,7 +234,7 @@ jobs:
232234
has-new-tests: ${{ steps.detect.outputs.has-new-tests }}
233235
steps:
234236
- name: Checkout repository
235-
uses: actions/checkout@v7
237+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
236238
with:
237239
fetch-depth: 0
238240

@@ -260,7 +262,7 @@ jobs:
260262
261263
- name: Download built frontend
262264
if: steps.detect.outputs.has-new-tests == 'true'
263-
uses: actions/download-artifact@v8
265+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
264266
with:
265267
name: frontend-dist
266268
path: dist/
@@ -285,7 +287,7 @@ jobs:
285287
286288
- name: Upload new-test report (with embedded video)
287289
if: ${{ !cancelled() && steps.detect.outputs.has-new-tests == 'true' }}
288-
uses: actions/upload-artifact@v6
290+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
289291
with:
290292
name: playwright-report-new-tests
291293
path: ./playwright-report/
@@ -314,7 +316,7 @@ jobs:
314316
pull-requests: write
315317
steps:
316318
- name: Checkout repository
317-
uses: actions/checkout@v7
319+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
318320

319321
- name: Upsert playwright starting section into unified report
320322
uses: ./.github/actions/upsert-comment-section
@@ -345,10 +347,10 @@ jobs:
345347
contents: read
346348
steps:
347349
- name: Checkout repository
348-
uses: actions/checkout@v7
350+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
349351

350352
- name: Download all playwright reports
351-
uses: actions/download-artifact@v8
353+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
352354
with:
353355
pattern: playwright-report-*
354356
path: reports

.github/workflows/ci-tests-unit.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949

5050
- name: Upload coverage to Codecov
5151
if: always()
52-
uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3
52+
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
5353
with:
5454
files: coverage/lcov.info
5555
flags: unit

0 commit comments

Comments
 (0)