Skip to content

Remove changelog generation for SDK examples - #1419

Open
taylorjdawson wants to merge 3 commits into
mainfrom
taylor/int-503-remove-changelog-generation-for-sdk-examples
Open

Remove changelog generation for SDK examples#1419
taylorjdawson wants to merge 3 commits into
mainfrom
taylor/int-503-remove-changelog-generation-for-sdk-examples

Conversation

@taylorjdawson

Copy link
Copy Markdown
Contributor

Summary

  • remove tracked changelogs from private SDK examples
  • expand Changesets ignores to cover current example package naming patterns
  • add a guard so future workspace examples cannot silently re-enter release/changelog generation
  • fix the reusable build workflow to run the repo version script instead of pnpm built-in version command

Validation

  • pnpm build
  • pnpm typecheck
  • formatting and generated-code cleanliness checks
  • Changesets/example ignore guard and release-prep path

Linear: INT-503

@codesandbox-ci

codesandbox-ci Bot commented Jun 23, 2026

Copy link
Copy Markdown

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:

Sandbox Source
@turnkey/example-react-components Configuration

@taylorjdawson
taylorjdawson force-pushed the taylor/int-503-remove-changelog-generation-for-sdk-examples branch from 4425374 to 0005e0b Compare June 25, 2026 00:26
@taylorjdawson
taylorjdawson marked this pull request as ready for review June 25, 2026 17:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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 Changesets ignore, and that publishable packages/** are not ignored.
  • Expanded .changeset/config.json ignore patterns to match current example package naming.
  • Updated the reusable build workflow and root version / prepare-release scripts to run the repo version script (including the new guard) instead of relying on pnpm 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.

Comment on lines +66 to +71
return {
name: workspacePackage.name,
private: workspacePackage.private,
relativeDir,
packageJsonPath: `${relativeDir}/package.json`,
};

@ethankonk ethankonk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

Comment thread .changeset/config.json Outdated
Comment on lines +12 to +22
"@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-*"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ohh love that idea, fixes the issues we have with un-published packages attempting to be published via trusted publishers too!

Comment thread .changeset/config.json Outdated
Comment on lines +12 to +22
"@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-*"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ohh love that idea, fixes the issues we have with un-published packages attempting to be published via trusted publishers too!

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.

3 participants