fix(ci): stop cosmetic failures and slow merges from losing a release - #14428
fix(ci): stop cosmetic failures and slow merges from losing a release#14428christian-byrne wants to merge 2 commits into
Conversation
The release summary comment had no continue-on-error, so a crash in it marked v1.47.10 failed while the tag, release, and npm types had all published. The tag-wait polled 30 minutes for a human to merge the bump PR, then hard-failed and took create-comfyui-pr with it — losing both the PyPI publish and the pin PR. It timed out that way on 1.47.10 and again on the 2026-07-27 run. Widen it to four hours and print the exact rerun --failed recovery into the job summary. Refs #14033
📄 Knowledge reviewDosu skipped reviewing this PR because your organization has used its |
🎭 Playwright: ✅ 1761 passed, 0 failed · 5 flaky📊 Browser Reports
📦 Bundle: 8.17 MB gzip 🔴 +5 BDetailsSummary
Category Glance App Entry Points — 3.62 kB (baseline 3.62 kB) • ⚪ 0 BMain entry bundles and manifests Status: 1 unchanged Graph Workspace — 1.29 MB (baseline 1.29 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration Status: 2 unchanged Views & Navigation — 111 kB (baseline 111 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces Status: 16 unchanged Panels & Settings — 552 kB (baseline 552 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens Status: 26 unchanged User & Accounts — 28.7 kB (baseline 28.7 kB) • ⚪ 0 BAuthentication, profile, and account management bundles Status: 10 unchanged Editors & Dialogs — 124 kB (baseline 124 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors Status: 7 unchanged UI Components — 70 kB (baseline 70 kB) • ⚪ 0 BReusable component library chunks Status: 15 unchanged Data & Services — 3.43 MB (baseline 3.43 MB) • ⚪ 0 BStores, services, APIs, and repositories Status: 17 unchanged Utilities & Hooks — 385 kB (baseline 385 kB) • ⚪ 0 BHelpers, composables, and utility bundles Status: 36 unchanged Vendor & Third-Party — 15.7 MB (baseline 15.7 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 16 unchanged Other — 12.6 MB (baseline 12.6 MB) • 🟢 -7 BBundles that do not match a named category
Status: 3 added / 3 removed / 275 unchanged ⚡ Performance Report
Show regressions
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-07-30T23:36:22.019Z",
"gitSha": "69a2a8db8bc6fb4398f29b9398a0d3af0e3b2b09",
"branch": "cb__release-workflow-hardening",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2154.6979999999962,
"styleRecalcs": 7,
"styleRecalcDurationMs": 18.455,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 675.863,
"heapDeltaBytes": 4829580,
"heapUsedBytes": 72781000,
"domNodes": 14,
"jsHeapTotalBytes": 20836352,
"scriptDurationMs": 25.887999999999998,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2067.729999999983,
"styleRecalcs": 8,
"styleRecalcDurationMs": 7.261,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 535.1510000000001,
"heapDeltaBytes": 4610644,
"heapUsedBytes": 72469204,
"domNodes": 16,
"jsHeapTotalBytes": 20574208,
"scriptDurationMs": 22.276999999999997,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1985.9739999999988,
"styleRecalcs": 78,
"styleRecalcDurationMs": 46.422,
"layouts": 12,
"layoutDurationMs": 3.761,
"taskDurationMs": 1003.358,
"heapDeltaBytes": -544240,
"heapUsedBytes": 67264492,
"domNodes": 63,
"jsHeapTotalBytes": 21360640,
"scriptDurationMs": 132.841,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 1956.4589999999953,
"styleRecalcs": 80,
"styleRecalcDurationMs": 47.717000000000006,
"layouts": 12,
"layoutDurationMs": 3.9120000000000004,
"taskDurationMs": 1022.7869999999999,
"heapDeltaBytes": -14522016,
"heapUsedBytes": 53367192,
"domNodes": -281,
"jsHeapTotalBytes": 22536192,
"scriptDurationMs": 132.47899999999998,
"eventListeners": -148,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1735.7310000000439,
"styleRecalcs": 31,
"styleRecalcDurationMs": 18.813000000000002,
"layouts": 6,
"layoutDurationMs": 0.7820000000000001,
"taskDurationMs": 483.034,
"heapDeltaBytes": 7902584,
"heapUsedBytes": 75487648,
"domNodes": 75,
"jsHeapTotalBytes": 20574208,
"scriptDurationMs": 28.566000000000006,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1733.8509999999587,
"styleRecalcs": 31,
"styleRecalcDurationMs": 16.826,
"layouts": 6,
"layoutDurationMs": 0.639,
"taskDurationMs": 390.267,
"heapDeltaBytes": 7961028,
"heapUsedBytes": 75815952,
"domNodes": 75,
"jsHeapTotalBytes": 20049920,
"scriptDurationMs": 20.741000000000003,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66999999999998,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "dom-widget-clipping",
"durationMs": 694.2319999999995,
"styleRecalcs": 11,
"styleRecalcDurationMs": 7.762,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 424.132,
"heapDeltaBytes": -11889076,
"heapUsedBytes": 55989280,
"domNodes": 18,
"jsHeapTotalBytes": 21622784,
"scriptDurationMs": 62.70600000000001,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "dom-widget-clipping",
"durationMs": 597.7159999999913,
"styleRecalcs": 10,
"styleRecalcDurationMs": 7.662999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 412.608,
"heapDeltaBytes": -11944548,
"heapUsedBytes": 56027812,
"domNodes": 16,
"jsHeapTotalBytes": 21098496,
"scriptDurationMs": 59.153,
"eventListeners": 0,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2051.6340000000355,
"styleRecalcs": 7,
"styleRecalcDurationMs": 7.507,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 895.1999999999999,
"heapDeltaBytes": 7530236,
"heapUsedBytes": 66739288,
"domNodes": -282,
"jsHeapTotalBytes": 5042176,
"scriptDurationMs": 136.426,
"eventListeners": -142,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2041.0679999999957,
"styleRecalcs": 10,
"styleRecalcDurationMs": 8.434999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 688.3809999999999,
"heapDeltaBytes": 7706184,
"heapUsedBytes": 66396632,
"domNodes": -281,
"jsHeapTotalBytes": 4780032,
"scriptDurationMs": 100.06000000000002,
"eventListeners": -142,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2403.73500000004,
"styleRecalcs": 68,
"styleRecalcDurationMs": 15.793999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1450.6190000000001,
"heapDeltaBytes": 2569088,
"heapUsedBytes": 62352964,
"domNodes": -285,
"jsHeapTotalBytes": 5529600,
"scriptDurationMs": 463.32700000000006,
"eventListeners": -144,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2183.247999999935,
"styleRecalcs": 69,
"styleRecalcDurationMs": 15.424000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1264.78,
"heapDeltaBytes": -3920004,
"heapUsedBytes": 55820304,
"domNodes": -281,
"jsHeapTotalBytes": 5042176,
"scriptDurationMs": 408.878,
"eventListeners": -144,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3547.7500000000077,
"styleRecalcs": 64,
"styleRecalcDurationMs": 16.194000000000003,
"layouts": 60,
"layoutDurationMs": 8.883,
"taskDurationMs": 1772.431,
"heapDeltaBytes": 15611912,
"heapUsedBytes": 77219604,
"domNodes": -288,
"jsHeapTotalBytes": 6615040,
"scriptDurationMs": 631.319,
"eventListeners": -146,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3197.8579999999965,
"styleRecalcs": 64,
"styleRecalcDurationMs": 14.295999999999996,
"layouts": 60,
"layoutDurationMs": 8.04,
"taskDurationMs": 1520.597,
"heapDeltaBytes": -2705744,
"heapUsedBytes": 59655356,
"domNodes": -288,
"jsHeapTotalBytes": 8187904,
"scriptDurationMs": 525.6579999999999,
"eventListeners": -148,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2062.8110000000106,
"styleRecalcs": 7,
"styleRecalcDurationMs": 6.819000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 888.217,
"heapDeltaBytes": 8341504,
"heapUsedBytes": 69206300,
"domNodes": -283,
"jsHeapTotalBytes": 4780032,
"scriptDurationMs": 129.885,
"eventListeners": -146,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "minimap-idle",
"durationMs": 2062.5989999999774,
"styleRecalcs": 8,
"styleRecalcDurationMs": 10.695,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 749.712,
"heapDeltaBytes": 8446140,
"heapUsedBytes": 69201308,
"domNodes": -281,
"jsHeapTotalBytes": 4517888,
"scriptDurationMs": 117.733,
"eventListeners": -142,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 720.8500000000413,
"styleRecalcs": 45,
"styleRecalcDurationMs": 11.056,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 458.04800000000006,
"heapDeltaBytes": -11689060,
"heapUsedBytes": 56269660,
"domNodes": 16,
"jsHeapTotalBytes": 22147072,
"scriptDurationMs": 131.889,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 595.4649999999901,
"styleRecalcs": 47,
"styleRecalcDurationMs": 10.932999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 400.944,
"heapDeltaBytes": -11992632,
"heapUsedBytes": 55879304,
"domNodes": 20,
"jsHeapTotalBytes": 22147072,
"scriptDurationMs": 120.295,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-idle",
"durationMs": 2004.6480000000315,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.442,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 583.8800000000001,
"heapDeltaBytes": 4369052,
"heapUsedBytes": 72359368,
"domNodes": 20,
"jsHeapTotalBytes": 20312064,
"scriptDurationMs": 22.694000000000003,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-idle",
"durationMs": 2038.6379999999917,
"styleRecalcs": 11,
"styleRecalcDurationMs": 10.053,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 619.514,
"heapDeltaBytes": -19888708,
"heapUsedBytes": 48025728,
"domNodes": -278,
"jsHeapTotalBytes": 20439040,
"scriptDurationMs": 21.342,
"eventListeners": -148,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1741.6069999999877,
"styleRecalcs": 76,
"styleRecalcDurationMs": 42.797000000000004,
"layouts": 16,
"layoutDurationMs": 5.292,
"taskDurationMs": 891.172,
"heapDeltaBytes": -4790944,
"heapUsedBytes": 63049296,
"domNodes": 63,
"jsHeapTotalBytes": 21098496,
"scriptDurationMs": 103.54599999999999,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1800.7539999999835,
"styleRecalcs": 78,
"styleRecalcDurationMs": 44.903999999999996,
"layouts": 16,
"layoutDurationMs": 4.8950000000000005,
"taskDurationMs": 882.9169999999999,
"heapDeltaBytes": -21314832,
"heapUsedBytes": 46885184,
"domNodes": -281,
"jsHeapTotalBytes": 20176896,
"scriptDurationMs": 98.508,
"eventListeners": -148,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "subgraph-transition-enter",
"durationMs": 1434.5780000000445,
"styleRecalcs": 18,
"styleRecalcDurationMs": 31.342999999999996,
"layouts": 14,
"layoutDurationMs": 12.445999999999998,
"taskDurationMs": 1030.499,
"heapDeltaBytes": 31092680,
"heapUsedBytes": 99744784,
"domNodes": 13673,
"jsHeapTotalBytes": 15204352,
"scriptDurationMs": 41.341000000000015,
"eventListeners": 2371,
"totalBlockingTimeMs": 125,
"frameDurationMs": 16.666666666666696,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8912.863000000016,
"styleRecalcs": 250,
"styleRecalcDurationMs": 44.993,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 5131.459000000001,
"heapDeltaBytes": 16981416,
"heapUsedBytes": 75819360,
"domNodes": -280,
"jsHeapTotalBytes": 6545408,
"scriptDurationMs": 1526.732,
"eventListeners": -128,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "viewport-pan-sweep",
"durationMs": 8215.198999999984,
"styleRecalcs": 250,
"styleRecalcDurationMs": 39.760000000000005,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4381.416,
"heapDeltaBytes": 11307008,
"heapUsedBytes": 70187516,
"domNodes": -280,
"jsHeapTotalBytes": 6578176,
"scriptDurationMs": 1357.626,
"eventListeners": -128,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-idle",
"durationMs": 18560.80499999996,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 18504.248,
"heapDeltaBytes": -63521488,
"heapUsedBytes": 164511408,
"domNodes": -8312,
"jsHeapTotalBytes": -8593408,
"scriptDurationMs": 597.495,
"eventListeners": -16387,
"totalBlockingTimeMs": 0,
"frameDurationMs": 18.333333333333332,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 18244.99199999991,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 18218.154,
"heapDeltaBytes": -41001688,
"heapUsedBytes": 166106260,
"domNodes": -8312,
"jsHeapTotalBytes": -17506304,
"scriptDurationMs": 590.927,
"eventListeners": -16383,
"totalBlockingTimeMs": 0,
"frameDurationMs": 18.886666666666617,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-pan",
"durationMs": 22292.867000000002,
"styleRecalcs": 159,
"styleRecalcDurationMs": 23.891999999999967,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 22254.083000000002,
"heapDeltaBytes": -46509904,
"heapUsedBytes": 167105660,
"domNodes": -8312,
"jsHeapTotalBytes": -15409152,
"scriptDurationMs": 918.4300000000001,
"eventListeners": -16381,
"totalBlockingTimeMs": 503,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-pan",
"durationMs": 22948.667999999998,
"styleRecalcs": 172,
"styleRecalcDurationMs": 26.804999999999968,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 22912.422,
"heapDeltaBytes": -40148816,
"heapUsedBytes": 168957768,
"domNodes": -8312,
"jsHeapTotalBytes": -14360576,
"scriptDurationMs": 946.981,
"eventListeners": -16383,
"totalBlockingTimeMs": 794,
"frameDurationMs": 18.333333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "workflow-execution",
"durationMs": 463.42399999997497,
"styleRecalcs": 14,
"styleRecalcDurationMs": 19.979000000000003,
"layouts": 2,
"layoutDurationMs": 0.4040000000000001,
"taskDurationMs": 123.224,
"heapDeltaBytes": -15889456,
"heapUsedBytes": 50971356,
"domNodes": 130,
"jsHeapTotalBytes": 8253440,
"scriptDurationMs": 13.496999999999998,
"eventListeners": 67,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "workflow-execution",
"durationMs": 474.1759999999431,
"styleRecalcs": 12,
"styleRecalcDurationMs": 18.825000000000003,
"layouts": 3,
"layoutDurationMs": 0.677,
"taskDurationMs": 114.009,
"heapDeltaBytes": -16330548,
"heapUsedBytes": 50621024,
"domNodes": 117,
"jsHeapTotalBytes": 7991296,
"scriptDurationMs": 9.487000000000002,
"eventListeners": 65,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
}
]
} |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 16 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughRelease workflows now wait longer for release tags, provide timeout recovery instructions, and tolerate failures when posting release summary comments. ChangesRelease workflow resilience
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Suggested reviewers: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 inconclusive)
✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release-biweekly-comfyui.yaml:
- Around line 214-230: Update the timeout summary in the tag polling step to
report only that the remote tag v${TARGET_VERSION} was not observed, without
asserting the bump PR was unmerged or prescribing that it be merged. In the
recovery guidance, direct operators to verify the tag-producing workflow and
whether the tag exists before rerunning failed jobs, while preserving the
existing rerun command and resolved target_version guidance.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: df489c12-c4ce-4692-a98a-3b113157bcac
📒 Files selected for processing (2)
.github/workflows/release-biweekly-comfyui.yaml.github/workflows/release-draft-create.yaml
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #14428 +/- ##
========================================
Coverage 77.98% 77.98%
========================================
Files 1760 1760
Lines 109775 109775
Branches 35627 36169 +542
========================================
Hits 85613 85613
+ Misses 23625 23620 -5
- Partials 537 542 +5
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
A missing tag only proves the tag was not observed. If the bump PR did merge and release-draft-create failed, the old wording sent the operator to merge an already-merged PR and rerun a job that cannot create the tag. Walk both branches, and point at the cosmetic-failure case that can hide a successful draft-create.
|
Closing as superseded by #14039, which already implements both changes here and predates this by a week. #14039 covers the One delta worth folding into #14039, from review on this PR: the timeout message asserts the bump PR was not merged, but a missing tag only proves the tag was not observed. If the PR did merge and |
Two of the three defects in #14033, both of which cost us real releases.
1. A crashing comment marked a successful release as failed (§2)
release-draft-create.yaml's "Post release summary comment" step had nocontinue-on-error, so a Node crash in the comment poster marked the entirev1.47.10runfailure— whilebuild,draft_release, andpublish_typeshad all succeeded (tag cut, release created, npm types published). A cosmetic
step produced a false "release failed" signal.
2. A 30-minute tag-wait dropped both the publish and the pin PR (§1)
publish-pypipolled 30 minutes for the tag, which only appears once a humanmerges the
Release-labelled bump PR, then hard-failed. Becausecreate-comfyui-prhasneeds: publish-pypi, the timeout skipped the pin PRtoo — one run losing both the PyPI publish and the ComfyUI bump.
This fired twice: on the 1.47.10 run, and again on the scheduled 2026-07-27 run,
whose bump PR (#14150, 1.48.6) is still unmerged today.
Widened to four hours, since it is gated on a human's response time rather than
a CI step's. On timeout the job now writes the exact recovery into the job
summary —
gh run rerun <id> --failedon the same run, which reuses the resolvedtarget_versioninstead of re-resolving and risking a spurious next-patch bump.Not fixed here
§1's preferred fix is to decouple the publish from the poll entirely and make it
release-triggered. That is the real cure and I did not attempt it in this PR — it
restructures a pipeline I cannot dry-run, and a mistake there breaks every
release. Left as a follow-up on #14033.
Refs #14033