From 5b2b3cdacfd1398d654a15b00baf4542c7c89d26 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Sun, 2 Mar 2025 16:57:30 -0500 Subject: [PATCH] [CI] Use gh action to update litegraph (#2808) --- .github/workflows/test-ui.yaml | 2 +- .github/workflows/update-litegraph.yaml | 43 +++++++++++++++++++++++++ package.json | 1 - scripts/update-litegraph.js | 40 ----------------------- 4 files changed, 44 insertions(+), 42 deletions(-) create mode 100644 .github/workflows/update-litegraph.yaml delete mode 100644 scripts/update-litegraph.js diff --git a/.github/workflows/test-ui.yaml b/.github/workflows/test-ui.yaml index 3a5385938..9a351de8b 100644 --- a/.github/workflows/test-ui.yaml +++ b/.github/workflows/test-ui.yaml @@ -32,7 +32,7 @@ jobs: path: 'ComfyUI/custom_nodes/ComfyUI_devtools' ref: '080e6d4af809a46852d1c4b7ed85f06e8a3a72be' - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: lts/* diff --git a/.github/workflows/update-litegraph.yaml b/.github/workflows/update-litegraph.yaml new file mode 100644 index 000000000..367e39589 --- /dev/null +++ b/.github/workflows/update-litegraph.yaml @@ -0,0 +1,43 @@ +name: Update Litegraph Dependency + +on: + workflow_dispatch: + +jobs: + update-litegraph: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + + - name: Update litegraph + run: npm install @comfyorg/litegraph@latest + + - name: Get new version + id: get-version + run: | + NEW_VERSION=$(node -e "console.log(JSON.parse(require('fs').readFileSync('./package-lock.json')).packages['node_modules/@comfyorg/litegraph'].version)") + echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.PR_GH_TOKEN }} + commit-message: '[chore] Update litegraph to ${{ steps.get-version.outputs.NEW_VERSION }}' + title: '[chore] Update litegraph to ${{ steps.get-version.outputs.NEW_VERSION }}' + body: | + Automated update of litegraph to version ${{ steps.get-version.outputs.NEW_VERSION }}. + Ref: https://github.com/Comfy-Org/litegraph.js/releases/tag/v${{ steps.get-version.outputs.NEW_VERSION }} + branch: update-litegraph-${{ steps.get-version.outputs.NEW_VERSION }} + base: main + labels: | + dependencies diff --git a/package.json b/package.json index 3b170e21b..4ce8231fc 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ "build": "npm run typecheck && vite build", "build:types": "vite build --config vite.types.config.mts && node scripts/prepare-types.js", "release": "node scripts/release.js", - "update-litegraph": "node scripts/update-litegraph.js", "zipdist": "node scripts/zipdist.js", "typecheck": "vue-tsc --noEmit && tsc --noEmit && tsc-strict", "format": "prettier --write './**/*.{js,ts,tsx,vue,mts}'", diff --git a/scripts/update-litegraph.js b/scripts/update-litegraph.js deleted file mode 100644 index 4b355b503..000000000 --- a/scripts/update-litegraph.js +++ /dev/null @@ -1,40 +0,0 @@ -import { execSync } from 'child_process' -import { readFileSync } from 'fs' - -try { - // Create a new branch - console.log('Creating new branch...') - const date = new Date().toISOString().split('T')[0] - const timestamp = new Date().getTime() - const branchName = `update-litegraph-${date}-${timestamp}` - execSync(`git checkout -b ${branchName} -t origin/main`, { stdio: 'inherit' }) - - // Update litegraph - console.log('Updating litegraph...') - execSync('npm install @comfyorg/litegraph@latest', { stdio: 'inherit' }) - - // Get the new version from package.json - const packageLock = JSON.parse(readFileSync('./package-lock.json', 'utf8')) - const newVersion = - packageLock.packages['node_modules/@comfyorg/litegraph'].version - - // Stage changes - execSync('git add package.json package-lock.json', { stdio: 'inherit' }) - execSync('git commit -m "chore: update litegraph to ' + newVersion + '"', { - stdio: 'inherit' - }) - - // Create the PR - console.log('Creating PR...') - const prBody = `Automated update of litegraph to version ${newVersion}. Ref: https://github.com/Comfy-Org/litegraph.js/releases/tag/v${newVersion}` - execSync( - `gh pr create --title "Update litegraph ${newVersion}" --label "dependencies" --body "${prBody}"`, - { stdio: 'inherit' } - ) - - console.log( - `✅ Successfully created PR for litegraph update to ${newVersion}` - ) -} catch (error) { - console.error('❌ Error during update process:', error.message) -}