Skip to content

Prepare CI scripts for reusability in other repos#558

Open
niekert wants to merge 9 commits intoframer:mainfrom
niekert:main
Open

Prepare CI scripts for reusability in other repos#558
niekert wants to merge 9 commits intoframer:mainfrom
niekert:main

Conversation

@niekert
Copy link
Member

@niekert niekert commented Feb 16, 2026

Description

This PR prepares the CI deployment scripts for reusability in other repos, such as Workshop.

https://github.com/framer/workshop/pull/458

Testing

niekert and others added 7 commits February 16, 2026 10:19
- 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>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Fix in Cursor Fix in Web

with:
script: |
const labels = context.payload.pull_request.labels || []
const hasSubmitLabel = labels.some(label => label.name === 'Submit on merge')
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Additional Locations (1)

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant