Skip to content

Conversation

@christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Nov 6, 2025

Fixes issue in which a failed backport runs would not cleanup the branch (issue 1) and then on the next backport attempt, it would bail out early because it checks if a branch with that name already exists (issue 2).

The workflow now treats existing backport branches as reusable unless an open PR already references them (issue 2 solution), force-updates any reused branch with the latest cherry-pick, and records them so a new cleanup step can delete the branch if the run fails (issue 1 solution). That prevents stranded refs from blocking future backport runs while keeping active backport PRs intact.

┆Issue is synchronized with this Notion page by Unito

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Nov 6, 2025
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 11/06/2025, 07:44:05 PM UTC

📈 Summary

  • Total Tests: 499
  • Passed: 466 ✅
  • Failed: 0
  • Flaky: 3 ⚠️
  • Skipped: 30 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 457 / ❌ 0 / ⚠️ 3 / ⏭️ 30
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 6 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@github-actions
Copy link

github-actions bot commented Nov 6, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 11/06/2025, 07:07:49 PM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@christian-byrne christian-byrne changed the title ci: fix backport workflow not cleaning up branch on failure ci: fix backport workflow not cleaning up branch on failure and not able to update existing PRs/branches on re-run Nov 6, 2025
@github-actions
Copy link

github-actions bot commented Nov 6, 2025

Bundle Size Report

Summary

  • Raw size: 12.2 MB baseline 12.2 MB — ⚪ 0 B
  • Gzip: 2.49 MB baseline 2.49 MB — ⚪ 0 B
  • Brotli: 1.96 MB baseline 1.96 MB — ⚪ 0 B
  • Bundles: 58 current • 58 baseline

Category Glance
Vendor & Third-Party ⚪ 0 B (5.32 MB) · App Entry Points ⚪ 0 B (3.25 MB) · Other ⚪ 0 B (2.55 MB) · Graph Workspace ⚪ 0 B (792 kB) · Panels & Settings ⚪ 0 B (293 kB) · UI Components ⚪ 0 B (12.6 kB) · + 3 more

Per-category breakdown
App Entry Points — 3.25 MB (baseline 3.25 MB) • ⚪ 0 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-Cdeizypm.js 1.75 kB 1.75 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/index-D2940QdZ.js 2.87 MB 2.87 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/index-m2JLsAl3.js 382 kB 382 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Graph Workspace — 792 kB (baseline 792 kB) • ⚪ 0 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-BxYtfGP8.js 792 kB 792 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Views & Navigation — 8.18 kB (baseline 8.18 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/UserSelectView-CvDum833.js 8.18 kB 8.18 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Panels & Settings — 293 kB (baseline 293 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/AboutPanel-DBUXot_1.js 10.3 kB 10.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/CreditsPanel-ELjO8PJB.js 23 kB 23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ExtensionPanel-Duj00HSL.js 12.1 kB 12.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/KeybindingPanel-D5tJTifW.js 15.3 kB 15.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/ServerConfigPanel-RZY6apx0.js 8.23 kB 8.23 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-0O6mq5to.js 24.3 kB 24.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BYaBy7dC.js 20.4 kB 20.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C3vygQN4.js 25.7 kB 25.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CbKYXyH0.js 22.7 kB 22.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCholIsI.js 25 kB 25 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DFX7vRkK.js 19.8 kB 19.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-INJLrcmT.js 31.3 kB 31.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-iR6BKRXe.js 23.7 kB 23.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-YjQmudNE.js 23.5 kB 23.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserPanel-Db6t2adE.js 7.94 kB 7.94 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
UI Components — 12.6 kB (baseline 12.6 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-d7iP36iS.js 11.3 kB 11.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/UserAvatar.vue_vue_type_script_setup_true_lang-D2s8tnS2.js 1.26 kB 1.26 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Data & Services — 10.4 kB (baseline 10.4 kB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/keybindingService-EUnaA9E6.js 7.6 kB 7.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/serverConfigStore-BOo8M-7s.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Utilities & Hooks — 1.07 kB (baseline 1.07 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/mathUtil-CTARWQ-l.js 1.07 kB 1.07 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Vendor & Third-Party — 5.32 MB (baseline 5.32 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-Bfb5Ofrh.js 3.22 MB 3.22 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-PESgPnbc.js 517 B 517 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-JDoAqkQm.js 1.37 MB 1.37 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-Dvg9y4X0.js 232 kB 232 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-SdQKVoRx.js 92.6 kB 92.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-BZLod3g9.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 2.55 MB (baseline 2.55 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/commands-B2KZRBmX.js 15.1 kB 15.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Bw-ckyga.js 13.9 kB 13.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C_NmM85I.js 13.8 kB 13.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CuozCW4W.js 14 kB 14 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DGfVUJCR.js 16.2 kB 16.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-dOJNDogK.js 14.5 kB 14.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DwiE551e.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Fw7mvqSy.js 13.1 kB 13.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-FXnO1W4Q.js 13.2 kB 13.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B28vuueQ.js 58.7 kB 58.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B5DMAz5p.js 76.3 kB 76.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B9oeRB3u.js 66.2 kB 66.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BfxLm2q9.js 68.4 kB 68.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-Bqw7zi8p.js 92.9 kB 92.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CxXcIMmb.js 80.3 kB 80.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DbrkzQIr.js 70.6 kB 70.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DwpdJL5U.js 67.5 kB 67.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-mC3TQk_1.js 59.4 kB 59.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-3I1vPgv4.js 181 kB 181 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B2huPGKQ.js 190 kB 190 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BWugyUzd.js 215 kB 215 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-bXqu6Stq.js 194 kB 194 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CtB2M3sY.js 229 kB 229 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D-rCrn-T.js 200 kB 200 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D38DSnl1.js 179 kB 179 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DAsU52ON.js 192 kB 192 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DnGONaA_.js 196 kB 196 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

@christian-byrne christian-byrne added the claude-review Add to trigger a PR code review from Claude Code label Nov 7, 2025
PENDING=()
SKIPPED=()
REUSED=()
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[quality] low Priority

Issue: The REUSED array is initialized but variable naming could be clearer
Context: Array tracks backport branches being reused but the name doesn't indicate these are branch names
Suggestion: Consider renaming to REUSED_BRANCHES for clarity

window['__COMFYUI_FRONTEND_VERSION__'] = config.app_version
if (isElectron()) {
document.addEventListener('contextmenu', showContextMenu)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[architecture] high Priority

Issue: Complete removal of Vite preload error handling without explanation
Context: This removes the entire error handling mechanism for deployment asset issues, which could lead to broken app states after updates
Suggestion: Either provide a replacement error handling mechanism or explain why this critical error handling is no longer needed

import { useConflictDetection } from '@/workbench/extensions/manager/composables/useConflictDetection'
import { electronAPI, isElectron } from './utils/envUtil'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[quality] low Priority

Issue: Multiple unused imports removed
Context: Removing unused imports is good for bundle size and code cleanliness
Suggestion: Good cleanup! This improves bundle optimization

"noImportedFiles": "No imported files found",
"noGeneratedFiles": "No generated files found",
"noFilesFoundMessage": "Upload files or generate content to see them here",
"templates": "Templates"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[quality] medium Priority

Issue: Multiple locale keys removed without clear context
Context: Removing locale keys for Vite preload errors is consistent with App.vue changes, but other removals (3D viewer, assets, etc.) seem unrelated to the PR scope
Suggestion: Either provide context for why these UI features are being removed or split into separate PR

isSelected(option) && !disabled,
'hover:bg-interface-menu-component-surface-hovered':
!isSelected(option) && !disabled,
'bg-white': isSelected(option) && !disabled,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[architecture] medium Priority

Issue: Hardcoded color classes replacing semantic theme classes
Context: Changes from semantic classes like 'bg-interface-menu-component-surface-selected' to hardcoded 'bg-white' breaks theme consistency
Suggestion: Use semantic theme classes from the CSS design system instead of hardcoded colors for better theme support

<i
v-if="!isPlaying"
class="text-secondary icon-[lucide--play] size-4"
class="icon-[lucide--play] size-4 text-smoke-600 dark-theme:text-smoke-800"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[architecture] medium Priority

Issue: Introduction of non-standard color classes and hardcoded theme-specific styles
Context: Using classes like 'text-smoke-600' and 'dark-theme:text-smoke-800' instead of semantic theme variables breaks the established design system
Suggestion: Use semantic theme classes from style.css instead of custom color schemes that bypass the theming system

'bg-interface-menu-component-surface-selected'
)
expect(unselectedButton.classes()).toContain('text-secondary')
expect(selectedButton.classes()).toContain('bg-white')
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[quality] medium Priority

Issue: Tests updated to match hardcoded color implementation
Context: While tests are correctly updated to match the new hardcoded colors, this locks in the architectural violation
Suggestion: Consider testing against semantic class names or data attributes instead of specific color classes for better maintainability

while IFS= read -r branch; do
[ -z "$branch" ] && continue
printf 'Deleting branch %s\n' "${branch}"
if ! git push origin --delete "$branch"; then
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[security] low Priority

Issue: Branch name passed to git push --delete without shell escaping
Context: While unlikely to be exploited in this context, branch names could theoretically contain shell metacharacters
Suggestion: Consider using -- to separate options from branch names: git push origin --delete -- "$branch"

Copy link

@claude claude bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comprehensive PR Review

This review is generated by Claude. It may not always be accurate, as with human reviewers. If you believe that any of the comments are invalid or incorrect, please state why for each. For others, please implement the changes in one way or another.

Review Summary

PR: ci: fix backport workflow not cleaning up branch on failure and not able to update existing PRs/branches on re-run (#6620)
Impact: 66 additions, 7 deletions across 9 files

Issue Distribution

  • Critical: 0
  • High: 1
  • Medium: 4
  • Low: 4

Category Breakdown

  • Architecture: 3 issues
  • Security: 1 issues
  • Performance: 0 issues
  • Code Quality: 2 issues

Key Findings

Architecture & Design

The main concern is the systematic replacement of semantic theme classes with hardcoded colors throughout Vue components. This breaks the established design system that uses semantic CSS variables for theming. Components are moving from classes like 'bg-interface-menu-component-surface-selected' to hardcoded 'bg-white' and custom color schemes like 'text-smoke-600'.

Security Considerations

The workflow improvements include good security practices like using --force-with-lease for safer forced pushes. There is one minor shell safety concern around branch name handling in the cleanup section.

Performance Impact

The removal of unused imports in App.vue is positive for bundle optimization. No significant performance concerns identified.

Integration Points

The removal of Vite preload error handling could impact user experience during deployments when assets change. The locale key removals suggest features are being removed without clear justification in this PR scope.

Positive Observations

  • Good use of --force-with-lease for safer git operations
  • Proper cleanup mechanism for stranded branches
  • Consistent test updates to match implementation changes
  • Unused import cleanup improves bundle size

References

Next Steps

  1. Address the removal of critical error handling (Vite preload errors)
  2. Consider reverting to semantic theme classes for better theming support
  3. Provide justification for removed locale keys and features
  4. Consider splitting this PR into focused changes (CI workflow vs. UI changes)

This is a comprehensive automated review. For architectural decisions requiring human judgment, please request additional manual review.

@github-actions github-actions bot removed the claude-review Add to trigger a PR code review from Claude Code label Nov 7, 2025
@DrJKL DrJKL merged commit 2c3c97d into main Nov 12, 2025
42 checks passed
@DrJKL DrJKL deleted the ci/fix-backport-dupe branch November 12, 2025 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:CI/CD size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants