mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-28 10:12:11 +00:00
## Summary Adds automated npm publishing for @comfyorg/desktop-ui package with version management and release workflows. - Ref: #5912 ## Changes - **What**: Three GitHub Actions workflows for desktop-ui npm publishing automation ### Two functions 1. Bump action - Just creates a version bump PR for `desktop-ui` 2. Publish action - Can be run manually - essentially a function with params / void return ### One automation - Watches for matching commits, then calls the Publish action with pre-filled details ## Review Focus Security hardening and workflow correctness. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5915-Add-Desktop-UI-npm-publishing-workflows-2826d73d365081d9b7f8d7f752536ceb) by [Unito](https://www.unito.io)
60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
name: Publish Desktop UI on PR Merge
|
|
|
|
on:
|
|
pull_request:
|
|
types: [ closed ]
|
|
branches: [ main, core/* ]
|
|
paths:
|
|
- 'apps/desktop-ui/package.json'
|
|
|
|
jobs:
|
|
resolve:
|
|
name: Resolve Version and Dist Tag
|
|
runs-on: ubuntu-latest
|
|
if: >
|
|
github.event.pull_request.merged == true &&
|
|
contains(github.event.pull_request.labels.*.name, 'Release')
|
|
outputs:
|
|
version: ${{ steps.get_version.outputs.version }}
|
|
dist_tag: ${{ steps.dist.outputs.dist_tag }}
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v5
|
|
with:
|
|
ref: ${{ github.event.pull_request.merge_commit_sha }}
|
|
persist-credentials: false
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v5
|
|
with:
|
|
node-version: '24.x'
|
|
|
|
- name: Read desktop-ui version
|
|
id: get_version
|
|
run: |
|
|
VERSION=$(node -p "require('./apps/desktop-ui/package.json').version")
|
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
|
|
|
- name: Determine dist-tag
|
|
id: dist
|
|
env:
|
|
VERSION: ${{ steps.get_version.outputs.version }}
|
|
run: |
|
|
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+- ]]; then
|
|
echo "dist_tag=next" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "dist_tag=latest" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
publish:
|
|
name: Publish Desktop UI to npm
|
|
needs: resolve
|
|
uses: ./.github/workflows/publish-desktop-ui.yaml
|
|
with:
|
|
version: ${{ needs.resolve.outputs.version }}
|
|
dist_tag: ${{ needs.resolve.outputs.dist_tag }}
|
|
ref: ${{ github.event.pull_request.merge_commit_sha }}
|
|
secrets:
|
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
|