Prepare CI scripts for reusability in other repos#558
Prepare CI scripts for reusability in other repos#558niekert wants to merge 9 commits intoframer:mainfrom
Conversation
- Dual checkout: caller repo as source/, plugins repo as tooling/ - Add pr_body input as alternative to changelog (extracts ### Changelog section) - Make CHANGELOG optional in submit-plugin.ts when PR_BODY is provided - Pass changelog as explicit parameter through function chain NOTE: tooling repo temporarily points to niekert/plugins for testing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- New check-pr.yml: reusable workflow for PR validation + auto-labeling - shippy.yml now calls check-pr.yml instead of inlining the logic - validate-pr-body.ts also outputs changelog text (multiline GITHUB_OUTPUT) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n dlx yarn dlx tsx can't resolve local imports (./lib/parse-pr) because it runs from a temp directory. Use proper install with working-directory instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
validate-pr-body.ts only imports node builtins + local files, so we don't need yarn install at all. npx tsx handles it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
Comment @cursor review or bugbot run to trigger another review on this PR
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: niekert/plugins | ||
| path: tooling |
There was a problem hiding this comment.
Personal fork repository hardcoded in CI workflows
High Severity
Both check-pr.yml and submit-plugin.yml check out from niekert/plugins, which is a personal fork. The actual repository is framer/plugins (confirmed by packages/plugin-tools/package.json). This means CI workflows in production will pull scripts and tooling from a personal fork that could diverge, become inaccessible, or be modified independently.
Additional Locations (1)
| with: | ||
| script: | | ||
| const labels = context.payload.pull_request.labels || [] | ||
| const hasSubmitLabel = labels.some(label => label.name === 'Submit on merge') |
There was a problem hiding this comment.
Label name mismatch breaks auto-submit on merge
High Severity
The new check-pr.yml uses label name 'Submit on merge', but the existing submit-on-merge.yml workflow triggers on 'Auto submit to Marketplace on merge'. This means the auto-added label will never match the merge trigger condition, so plugins will no longer be automatically submitted when PRs are merged.


Description
This PR prepares the CI deployment scripts for reusability in other repos, such as Workshop.
https://github.com/framer/workshop/pull/458
Testing
Auto submit to Marketplace on Mergegets added automatically