Remove changelog generation for SDK examples - #1419
Conversation
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit b627e09:
|
4425374 to
0005e0b
Compare
There was a problem hiding this comment.
Pull request overview
This PR removes Changesets-driven changelog/version generation from workspace examples packages and adds enforcement so example packages can’t drift back into release automation.
Changes:
- Added a repo script to validate that all
examples/**workspace packages are covered by Changesetsignore, and that publishablepackages/**are not ignored. - Expanded
.changeset/config.jsonignore patterns to match current example package naming. - Updated the reusable build workflow and root
version/prepare-releasescripts to run the repo version script (including the new guard) instead of relying onpnpm version.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/check-example-changeset-ignore.mjs | New guard script validating Changesets ignore coverage for example workspaces and absence of tracked example changelogs. |
| package.json | Adds guard script and wires it into version and prepare-release; splits out version:published-packages. |
| .github/workflows/reusable-build.yml | Ensures CI runs pnpm run version (repo script) to enforce the new guard before dirty-check. |
| .changeset/config.json | Expands ignore patterns to cover example naming conventions (scoped and unscoped). |
| examples/transaction-management/with-paymaster/CHANGELOG.md | Removes tracked example changelog. |
| examples/key-management/with-export-and-sign-escrow/CHANGELOG.md | Removes tracked example changelog. |
| examples/key-management/import-export-with-rwk/CHANGELOG.md | Removes tracked example changelog. |
| examples/key-management/import-export-with-iframe-stamper/CHANGELOG.md | Removes tracked example changelog. |
| examples/demos/react-wallet-kit-playground/CHANGELOG.md | Removes tracked example changelog. |
| examples/defi/with-x402/CHANGELOG.md | Removes tracked example changelog. |
| examples/defi/with-lifi/CHANGELOG.md | Removes tracked example changelog. |
| examples/defi/with-0x/CHANGELOG.md | Removes tracked example changelog. |
| examples/defi/solana-usdc-swap/CHANGELOG.md | Removes tracked example changelog. |
| examples/defi/eth-usdc-swap/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/with-x/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/wallet-auth/without-backend/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/wallet-auth/with-backend/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/otp-auth/without-backend/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/otp-auth/with-backend/CHANGELOG.md | Removes tracked example changelog. |
| examples/authentication/magic-link-auth/CHANGELOG.md | Removes tracked example changelog. |
| examples/account-abstraction/with-biconomy-aa/CHANGELOG.md | Removes tracked example changelog. |
| examples/access-control/with-delegated/server-side/CHANGELOG.md | Removes tracked example changelog. |
| examples/access-control/with-delegated/client-side/CHANGELOG.md | Removes tracked example changelog. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| return { | ||
| name: workspacePackage.name, | ||
| private: workspacePackage.private, | ||
| relativeDir, | ||
| packageJsonPath: `${relativeDir}/package.json`, | ||
| }; |
ethankonk
left a comment
There was a problem hiding this comment.
Actually yeah, I feel a script that automatically detects and adds packages that should be ignored would be super helpful. The regex ignore patterns should stay but for future one examples that don't follow these naming conventions, a simple pnpm script that adds them to the list automatically would be 🔥
That way we can error out with a message like:
"Run pnpm run ignore-packages (or something) to add your example to the changeset ignore list"
Makes it a little more straightforward and fool proof
| "@turnkey/*-usdc-swap", | ||
| "@turnkey/example-*", | ||
| "@turnkey/import-export-with-*", | ||
| "@turnkey/kitchen-sink", | ||
| "@turnkey/with-*" | ||
| "@turnkey/otp-auth-*", | ||
| "@turnkey/paymaster-usdc-transfer", | ||
| "@turnkey/react-wallet-kit-playground", | ||
| "@turnkey/wallet-auth-*", | ||
| "@turnkey/with-*", | ||
| "magic-link-auth", | ||
| "with-*" |
There was a problem hiding this comment.
I wonder if theres a way we can automate this instead of having to constantly update this ignore list... Would a script that pulls all package names in the examples directory and throws them in here be better?
There was a problem hiding this comment.
yea good call, i noticed that too,
I ended up taking a slightly simpler route and setting the privatePackages.version: false in Changesets, since examples are private packages, and then we added the guard to ensure examples stay private
let me know if you think that makes sense
There was a problem hiding this comment.
ohh love that idea, fixes the issues we have with un-published packages attempting to be published via trusted publishers too!
| "@turnkey/*-usdc-swap", | ||
| "@turnkey/example-*", | ||
| "@turnkey/import-export-with-*", | ||
| "@turnkey/kitchen-sink", | ||
| "@turnkey/with-*" | ||
| "@turnkey/otp-auth-*", | ||
| "@turnkey/paymaster-usdc-transfer", | ||
| "@turnkey/react-wallet-kit-playground", | ||
| "@turnkey/wallet-auth-*", | ||
| "@turnkey/with-*", | ||
| "magic-link-auth", | ||
| "with-*" |
There was a problem hiding this comment.
ohh love that idea, fixes the issues we have with un-published packages attempting to be published via trusted publishers too!
Summary
Validation
Linear: INT-503