Skip to content

ci: TRAC-1235 wire integrations/b2b-makeswift into its own changesets release#3125

Open
chanceaclark wants to merge 1 commit into
integrations/b2b-makeswiftfrom
chancellorclark/ltrac-1296-wire-b2b-makeswift-release
Open

ci: TRAC-1235 wire integrations/b2b-makeswift into its own changesets release#3125
chanceaclark wants to merge 1 commit into
integrations/b2b-makeswiftfrom
chancellorclark/ltrac-1296-wire-b2b-makeswift-release

Conversation

@chanceaclark

@chanceaclark chanceaclark commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Jira: TRAC-1235

What/Why?

integrations/b2b-makeswift had no release identity of its own. Its core/package.json was named @bigcommerce/catalyst-makeswift (the same npm package as integrations/makeswift, so any publish would clobber the real Makeswift package), and its changesets-release.yml was a stale single-step (NPM_TOKEN) workflow that only triggered on canary / integrations/makeswift, never on this branch.

This gives the branch a distinct identity and mirrors the current integrations/makeswift release setup:

  • Rename core/package.json to @bigcommerce/catalyst-b2b-makeswift (matches the existing @bigcommerce/catalyst-b2b-makeswift@latest git tag and the CLI upgrade command's package map).
  • Changesets config points baseBranch at integrations/b2b-makeswift and ignores @bigcommerce/catalyst + @bigcommerce/create-catalyst.
  • Release workflow is canary's current pipeline (Linear release sync, changeset:version, headline-package resolution), now triggering on integrations/b2b-makeswift with a headline case mapping the branch to @bigcommerce/catalyst-b2b-makeswift.
  • Changeset guard (prevent-invalid-changesets) fires on PRs into integrations/b2b-makeswift and only allows @bigcommerce/catalyst-b2b-makeswift.
  • changeset:version + sync-catalyst-version.mts keep core's catalyst field (version + git ref) synced on each bump.
  • CONTRIBUTING.md package-identity rules updated to the b2b name so the rename is not reverted on the next sync.

Part of LTRAC-1095 (consolidate B2B branches). Follow-up LTRAC-1297 revives the makeswift >=1.9.0 upgrade on top of this.

Intentionally not included: the release-catalyst skill's b2b tag-push stage and a /sync-b2b-makeswift skill. Those are .claude/skills tooling that should land on canary, not on this branch.

Testing

  • Dry-ran node .github/scripts/sync-catalyst-version.mts: produces ref: @bigcommerce/catalyst-b2b-makeswift@1.1.3 (then restored, so the commit is name-only).
  • pnpm-lock.yaml has zero references to the old package name and no workspace package depends on core by name, so no lockfile regen is needed.
  • End-to-end (post-merge): a changeset on this branch should open a Version Packages (integrations/b2b-makeswift) PR resolving @bigcommerce/catalyst-b2b-makeswift, and prevent-invalid-changesets should reject any non-b2b package.

Migration

Consumers pinned to this branch's package should note the npm name changes from @bigcommerce/catalyst-makeswift to @bigcommerce/catalyst-b2b-makeswift.

Do not squash or rebase-and-merge this PR into integrations/b2b-makeswift; use a merge commit (or a local fast-forward) to preserve the merge base with integrations/makeswift for future syncs.

… release

integrations/b2b-makeswift published core/package.json as
@bigcommerce/catalyst-makeswift, colliding with the integrations/makeswift
package, and ran a stale single-step (NPM_TOKEN) release workflow that never
triggered on its own branch. Give the branch a distinct release identity that
mirrors integrations/makeswift:

- Rename core/package.json to @bigcommerce/catalyst-b2b-makeswift, matching the
  existing @bigcommerce/catalyst-b2b-makeswift@latest git tag.
- Point .changeset/config.json baseBranch at integrations/b2b-makeswift and
  ignore @bigcommerce/catalyst + @bigcommerce/create-catalyst.
- Replace changesets-release.yml with canary's current pipeline (Linear sync,
  changeset:version, headline resolution), trigger it on integrations/b2b-makeswift,
  and map that branch to @bigcommerce/catalyst-b2b-makeswift.
- Retarget the prevent-invalid-changesets guard to integrations/b2b-makeswift and
  @bigcommerce/catalyst-b2b-makeswift.
- Add the changeset:version script and sync-catalyst-version.mts so core's
  catalyst field (version + ref) stays synced on release.
- Update CONTRIBUTING.md package-identity rules to the b2b-makeswift name.

Refs TRAC-1235
Co-Authored-By: Claude <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
catalyst Ready Ready Preview, Comment Jul 22, 2026 5:30pm

Request Review

@changeset-bot

changeset-bot Bot commented Jul 22, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7bf9445

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

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.

2 participants