mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-31 05:19:53 +00:00
## Summary Added configurable base branch selection to version bump workflows, enabling patch releases from `core/*` branches via GitHub Actions UI. ## Changes - **What**: Extended [workflow_dispatch inputs](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch) with `branch` parameter for both main frontend and desktop-ui version bump workflows - **Validation**: Added branch existence check that lists available `core/*` branches on error - **Workflow modifications**: - `release-version-bump.yaml`: Checkout and create PRs targeting user-specified branch - `version-bump-desktop-ui.yaml`: Same behavior for desktop-ui releases ## Review Focus Branch validation logic correctly handles both local (`refs/heads/`) and remote (`refs/remotes/origin/`) refs. Default value preserves backward compatibility for release sheriffs unfamiliar with new feature. ## Use Case Previously, patch releases from `core/1.29` required manual version bumping. Now maintainers can trigger from Actions UI with dropdown selections. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6117-ci-allow-manual-workflow-dispatch-to-do-version-bumping-on-core-branches-rather-than-j-2906d73d365081cba3aff46471206a9e) by [Unito](https://www.unito.io)
91 lines
3.0 KiB
YAML
91 lines
3.0 KiB
YAML
name: "Release: Version Bump"
|
|
description: "Manual workflow to increment package version with semantic versioning support"
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version_type:
|
|
description: 'Version increment type'
|
|
required: true
|
|
default: 'patch'
|
|
type: 'choice'
|
|
options: [patch, minor, major, prepatch, preminor, premajor, prerelease]
|
|
pre_release:
|
|
description: Pre-release ID (suffix)
|
|
required: false
|
|
default: ''
|
|
type: string
|
|
branch:
|
|
description: 'Base branch to bump (e.g., main, core/1.29, core/1.30)'
|
|
required: true
|
|
default: 'main'
|
|
type: string
|
|
|
|
jobs:
|
|
bump-version:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v5
|
|
with:
|
|
ref: ${{ github.event.inputs.branch }}
|
|
fetch-depth: 0
|
|
|
|
- name: Validate branch exists
|
|
run: |
|
|
BRANCH="${{ github.event.inputs.branch }}"
|
|
if ! git show-ref --verify --quiet "refs/heads/$BRANCH" && ! git show-ref --verify --quiet "refs/remotes/origin/$BRANCH"; then
|
|
echo "❌ Branch '$BRANCH' does not exist"
|
|
echo ""
|
|
echo "Available core branches:"
|
|
git branch -r | grep 'origin/core/' | sed 's/.*origin\// - /' || echo " (none found)"
|
|
echo ""
|
|
echo "Main branch:"
|
|
echo " - main"
|
|
exit 1
|
|
fi
|
|
echo "✅ Branch '$BRANCH' exists"
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 10
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: lts/*
|
|
cache: 'pnpm'
|
|
|
|
- name: Bump version
|
|
id: bump-version
|
|
run: |
|
|
pnpm version ${{ github.event.inputs.version_type }} --preid ${{ github.event.inputs.pre_release }} --no-git-tag-version
|
|
NEW_VERSION=$(node -p "require('./package.json').version")
|
|
echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
|
|
- name: Format PR string
|
|
id: capitalised
|
|
run: |
|
|
CAPITALISED_TYPE=${{ github.event.inputs.version_type }}
|
|
echo "capitalised=${CAPITALISED_TYPE@u}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e
|
|
with:
|
|
token: ${{ secrets.PR_GH_TOKEN }}
|
|
commit-message: '[release] Increment version to ${{ steps.bump-version.outputs.NEW_VERSION }}'
|
|
title: ${{ steps.bump-version.outputs.NEW_VERSION }}
|
|
body: |
|
|
${{ steps.capitalised.outputs.capitalised }} version increment to ${{ steps.bump-version.outputs.NEW_VERSION }}
|
|
|
|
**Base branch:** `${{ github.event.inputs.branch }}`
|
|
branch: version-bump-${{ steps.bump-version.outputs.NEW_VERSION }}
|
|
base: ${{ github.event.inputs.branch }}
|
|
labels: |
|
|
Release
|