Skip to content

Conversation

christian-byrne
Copy link
Contributor

@christian-byrne christian-byrne commented Aug 30, 2025

Summary

Updates the /create-hotfix-release Claude command to align with modern automated backport workflows and adds complete ComfyUI integration automation.

What's Changed

🔧 Workflow Improvements

  • Smart backport detection - Checks for existing automated backport PRs and their status
  • Intelligent path routing - Skip to version bump if backports already merged
  • Guided user actions - Clear instructions for pending backport PRs that need merging
  • Fallback to manual - Cherry-picking only when automation fails

🤖 Automation Enhancements

  • Fork management - Automatic fork creation and reuse for ComfyUI PRs
  • Requirements.txt updates - Complete automation for ComfyUI integration
  • Draft release publishing - Critical step to uncheck "Set as latest release"
  • Duplicate prevention - Backport workflow now prevents double triggers

📋 Process Organization

  • Clear process overview - 6-step workflow with smart path detection
  • Context-aware documentation - Explains when to use each workflow path
  • Updated step numbering - Consistent cross-references throughout

🔄 Backport Workflow Updates

  • Label trigger support - Workflow now triggers when needs-backport labels added to merged PRs
  • Idempotency protection - Prevents duplicate backport PRs from double triggers
  • Existing backport detection - Skips work if backport PRs already exist

┆Issue is synchronized with this Notion page by Unito

- Add Step 0 to check automated backport status first
- Emphasize this command is fallback when automation fails
- Add critical draft release publishing step (uncheck 'Set as latest')
- Add ComfyUI requirements.txt PR creation with exact template
- Update workflow context for modern automated backports
- Add clear process overview and context at top
- Step 1: Try automated backports first (via labels)
- Fallback to manual cherry-picking only if automation fails
- Add critical draft release publishing step (uncheck 'Set as latest')
- Add ComfyUI requirements.txt PR creation with exact template
- Remove time estimates and reorganize for clarity
- Update step numbering and cross-references
- Add 'labeled' trigger to backport workflow
- Allow backport automation when needs-backport label is added to merged PRs
- Supports hotfix workflow where labels are added retroactively
- Maintains existing behavior for PRs merged with labels already present
- Add check for existing backport PRs before starting backport process
- Skip backport work if PRs already exist for the same PR number
- Prevents double execution when both 'labeled' and 'closed' events trigger
- Maintains workflow reliability and avoids duplicate backport PRs
- Check for existing automated backport PRs and their status
- Path A: Skip to version bump if backports already merged
- Path B: Guide user to merge pending backport PRs first
- Path C: Fall back to manual cherry-picking if no/failed automation
- Add clear workflow path documentation for different scenarios
- Check if fork exists, create if needed
- Clone fork to local ComfyUI-fork directory
- Create branch, update requirements.txt with sed
- Create PR from fork using gh CLI with exact template format
- Handle both new and existing fork scenarios
- Keep fork directory for future updates
@christian-byrne christian-byrne requested review from a team as code owners August 30, 2025 22:23
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Aug 30, 2025
Copy link

🎨 Storybook Build Status

Build is starting...

⏰ Started at: 08/30/2025, 10:23:46 PM UTC

🚀 Building Storybook

  • 📦 Installing dependencies...
  • 🔧 Building Storybook components...
  • 🎨 Running Chromatic visual tests...

⏱️ Please wait while the Storybook build is in progress...

Copy link

github-actions bot commented Aug 30, 2025

🎭 Playwright Test Results

All tests passed across all browsers!

⏰ Completed at: 09/06/2025, 04:09:17 AM UTC

📊 Test Reports by Browser


🎉 Your tests are passing across all browsers!

Copy link

🎨 Storybook Build Status

Build failed!

⏰ Completed at: 08/30/2025, 10:23:47 PM UTC

🔗 Links


⚠️ Please check the workflow logs for error details.

@christian-byrne christian-byrne changed the title [devex] Update hotfix release command for modern automated backport workflow [devex] Update hotfix release command to work with new automated backporting process Aug 30, 2025
DrJKL
DrJKL previously approved these changes Sep 5, 2025
Copy link
Contributor

@DrJKL DrJKL left a comment

Choose a reason for hiding this comment

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

Only looked at the YAML file, added some small observations, but otherwise 👍🏻

echo "Found existing backport PRs:"
echo "$EXISTING_BACKPORTS"
echo "skip=true" >> $GITHUB_OUTPUT
echo "::notice::Backport PRs already exist for PR #${PR_NUMBER}, skipping to avoid duplicates"
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Should this be a warning?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done in 68d9677

echo "skip=true" >> $GITHUB_OUTPUT
echo "::notice::Backport PRs already exist for PR #${PR_NUMBER}, skipping to avoid duplicates"
else
echo "skip=false" >> $GITHUB_OUTPUT
Copy link
Contributor

Choose a reason for hiding this comment

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

Insanely nit: want to invert the condition and make this a guard clause? 😁

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done in 68d9677

- name: Extract version labels
if: steps.check-existing.outputs.skip != 'true'
Copy link
Contributor

Choose a reason for hiding this comment

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

Not for this PR at all, but when a bunch of steps have the same gate applied it makes me think they should be a single composite action

- Change ::notice to ::warning for existing backports per @DrJKL's feedback
- Refactor conditional to use guard clause pattern per @DrJKL's suggestion
- Improves readability and follows conventional shell scripting patterns

Addresses @DrJKL's review comments in PR #5271
@christian-byrne christian-byrne merged commit bd299b8 into main Sep 6, 2025
19 checks passed
@christian-byrne christian-byrne deleted the update-hotfix-release-command branch September 6, 2025 04:11
@benceruleanlu benceruleanlu mentioned this pull request Sep 7, 2025
snomiao pushed a commit that referenced this pull request Sep 12, 2025
…porting process (#5271)

* Update hotfix release command for modern automated backport workflow

- Add Step 0 to check automated backport status first
- Emphasize this command is fallback when automation fails
- Add critical draft release publishing step (uncheck 'Set as latest')
- Add ComfyUI requirements.txt PR creation with exact template
- Update workflow context for modern automated backports

* Restructure hotfix release command for modern workflow

- Add clear process overview and context at top
- Step 1: Try automated backports first (via labels)
- Fallback to manual cherry-picking only if automation fails
- Add critical draft release publishing step (uncheck 'Set as latest')
- Add ComfyUI requirements.txt PR creation with exact template
- Remove time estimates and reorganize for clarity
- Update step numbering and cross-references

* Enable backport automation for already-merged PRs

- Add 'labeled' trigger to backport workflow
- Allow backport automation when needs-backport label is added to merged PRs
- Supports hotfix workflow where labels are added retroactively
- Maintains existing behavior for PRs merged with labels already present

* Prevent duplicate backport triggers with idempotency check

- Add check for existing backport PRs before starting backport process
- Skip backport work if PRs already exist for the same PR number
- Prevents double execution when both 'labeled' and 'closed' events trigger
- Maintains workflow reliability and avoids duplicate backport PRs

* Add smart backport detection to hotfix command

- Check for existing automated backport PRs and their status
- Path A: Skip to version bump if backports already merged
- Path B: Guide user to merge pending backport PRs first
- Path C: Fall back to manual cherry-picking if no/failed automation
- Add clear workflow path documentation for different scenarios

* Add automated fork handling for ComfyUI requirements.txt PRs

- Check if fork exists, create if needed
- Clone fork to local ComfyUI-fork directory
- Create branch, update requirements.txt with sed
- Create PR from fork using gh CLI with exact template format
- Handle both new and existing fork scenarios
- Keep fork directory for future updates

* [style] improve backport workflow logging and structure

- Change ::notice to ::warning for existing backports per @DrJKL's feedback
- Refactor conditional to use guard clause pattern per @DrJKL's suggestion
- Improves readability and follows conventional shell scripting patterns

Addresses @DrJKL's review comments in PR #5271
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:CI/CD size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants