Skip to content

Conversation

@soberm
Copy link
Contributor

@soberm soberm commented Jan 29, 2026

Description of changes

This PR migrates the release workflow from Lerna to Changesets, providing a more modern and flexible approach to version management and package publishing. The migration includes:

New Changesets Configuration:

  • Configured Changesets for independent versioning of packages
  • Added .changeset/config.json with settings for changelog generation, commit messages, and versioning strategy
  • Created custom changeset preset for bumping all packages together when needed

New GitHub Actions Workflows:

  1. Version Packages Workflow (.github/workflows/version-packages.yml)

    • Creates automated "Version Packages" PRs when changesets are detected
    • Runs on pushes to main and hotfix branches
    • Generates changelogs and updates package versions
  2. Release Latest Workflow (.github/workflows/release-latest.yml)

    • Publishes packages to npm with latest tag when Version Packages PR is merged to main
    • Runs release verification tests before publishing
    • Updates API documentation (local and external) after successful publish
  3. Release Hotfix Workflow (.github/workflows/release-hotfix.yml)

    • Publishes hotfix releases from the hotfix branch
    • Automatically creates a PR to merge hotfix changes back into main
  4. Release Unstable Workflow (.github/workflows/release-unstable.yml)

    • Publishes packages to npm with unstable tag from the main branch
    • Creates snapshot versions with git hash (e.g., x.x.x-unstable-a71ee35-20260128091132 )
    • Skips release if commit message contains [skip release]
  5. Release Preid Workflow (.github/workflows/release-preid.yml)

    • Publishes packages with custom pre-release identifiers
    • Supports branches matching feat/preid/* pattern
    • Extracts preid from branch name and validates against forbidden list
    • Creates snapshot versions with preid and git hash (e.g., x.x.x-preid-a71ee35-20260128091132)

New GitHub Action:

  • Created has-changesets action to detect unconsumed changesets in the repository

Package.json Updates:

  • Added @changesets/cli dependency
  • Updated publish npm scripts

Issue #, if available

Related to the changesets migration initiative.

Description of how you validated changes

  • Run publish scripts locally to check if tags and versions are correct
  • Run preid release workflow on GitHub.

Checklist

  • PR description included
  • yarn test passes
  • Unit Tests are changed or added
  • Relevant documentation is changed or added (and PR referenced)

Checklist for repo maintainers

  • Verify E2E tests for existing workflows are working as expected or add E2E tests for newly added workflows
  • New source file paths included in this PR have

@soberm soberm requested review from a team as code owners January 29, 2026 14:40
@soberm soberm marked this pull request as draft January 29, 2026 14:41
@soberm soberm changed the title feat: changesets migration ci: changesets migration Jan 30, 2026
@soberm soberm marked this pull request as ready for review February 2, 2026 17:27
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