Skip to content

Conversation

@clavery
Copy link
Collaborator

@clavery clavery commented Jan 13, 2026

Summary

  • Add Changesets for version management and changelog generation
  • Create two-workflow architecture for npm publishing with OIDC trusted publishers
  • Configure linked versioning for b2c-cli, b2c-tooling-sdk, and b2c-dx-mcp
  • Add comprehensive documentation in PUBLISHING.md

Workflows

changesets.yml - Version Management

  • Triggers on push to main
  • Creates/updates "Version Packages" PR when changesets exist
  • Does NOT publish (no id-token: write needed)

publish.yml - npm Publishing

  • Triggers on git tag push (e.g., v1.0.0, v1.0.0-beta.1)
  • Publishes to npm using OIDC trusted publishers
  • Has id-token: write permission for npm trusted publishers
  • Creates GitHub Release automatically

Release Workflow

Developer runs `pnpm changeset` → creates changeset file
          ↓
PR merged to main
          ↓
changesets.yml creates "Version Packages" PR
          ↓
"Version Packages" PR merged (updates versions + changelogs)
          ↓
Maintainer pushes tag: git tag v1.0.0 && git push origin v1.0.0
          ↓
publish.yml publishes to npm via OIDC

Files Changed

File Description
.changeset/config.json Changesets configuration
.changeset/README.md Auto-generated changeset docs
.github/workflows/changesets.yml Version management workflow
.github/workflows/publish.yml npm publish workflow with OIDC
package.json Added changeset scripts
README.md Updated release section
PUBLISHING.md Detailed publishing documentation

Post-Merge Setup Required

  1. First-time publish - Manually publish initial versions to npm (packages must exist before configuring trusted publishers)
  2. Configure trusted publishers on npmjs.com for each package:
    • Owner: SalesforceCommerceCloud
    • Repository: b2c-developer-tooling
    • Workflow: publish.yml

Test plan

  • pnpm changeset status works
  • pnpm run build succeeds
  • Verify workflow syntax after merge (GitHub Actions tab)
  • Test with dry-run: pnpm publish -r --access public --dry-run

- Add changesets for version management and changelog generation
- Create changesets.yml workflow for automated version PRs
- Create publish.yml workflow triggered by version tags
- Configure npm OIDC trusted publishers (id-token: write)
- Link b2c-cli, b2c-tooling-sdk, and b2c-dx-mcp versions together
- Exclude b2c-plugin-example-config from publishing
@clavery clavery merged commit da9ba81 into main Jan 16, 2026
3 checks passed
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