[API Nodes] implement LtxvEditVideo node #44
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Append API Node PR template | |
| on: | |
| pull_request_target: | |
| types: [opened, reopened, synchronize, ready_for_review] | |
| paths: | |
| - 'comfy_api_nodes/**' # only run if these files changed | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| inject: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Ensure template exists and append to PR body | |
| uses: actions/github-script@v7 | |
| with: | |
| script: | | |
| const { owner, repo } = context.repo; | |
| const number = context.payload.pull_request.number; | |
| const templatePath = '.github/PULL_REQUEST_TEMPLATE/api-node.md'; | |
| const marker = '<!-- API_NODE_PR_CHECKLIST: do not remove -->'; | |
| const { data: pr } = await github.rest.pulls.get({ owner, repo, pull_number: number }); | |
| let templateText; | |
| try { | |
| const res = await github.rest.repos.getContent({ | |
| owner, | |
| repo, | |
| path: templatePath, | |
| ref: pr.base.ref | |
| }); | |
| const buf = Buffer.from(res.data.content, res.data.encoding || 'base64'); | |
| templateText = buf.toString('utf8'); | |
| } catch (e) { | |
| core.setFailed(`Required PR template not found at "${templatePath}" on ${pr.base.ref}. Please add it to the repo.`); | |
| return; | |
| } | |
| // Enforce the presence of the marker inside the template (for idempotence) | |
| if (!templateText.includes(marker)) { | |
| core.setFailed(`Template at "${templatePath}" does not contain the required marker:\n${marker}\nAdd it so we can detect duplicates safely.`); | |
| return; | |
| } | |
| // If the PR already contains the marker, do not append again. | |
| const body = pr.body || ''; | |
| if (body.includes(marker)) { | |
| core.info('Template already present in PR body; nothing to inject.'); | |
| return; | |
| } | |
| const newBody = (body ? body + '\n\n' : '') + templateText + '\n'; | |
| await github.rest.pulls.update({ owner, repo, pull_number: number, body: newBody }); | |
| core.notice('API Node template appended to PR description.'); |