Skip to content

chore: 🤖 changeset based package release workflow#774

Open
punkbit wants to merge 9 commits intomainfrom
chore/changeset-based-pkg-release-workflow
Open

chore: 🤖 changeset based package release workflow#774
punkbit wants to merge 9 commits intomainfrom
chore/changeset-based-pkg-release-workflow

Conversation

@punkbit
Copy link
Collaborator

@punkbit punkbit commented Jan 26, 2026

Why?

The following PR provides an attractive and elegant changeset based release workflow for publishing the Click-UI package. The current repo release workflow is looking poor, is prone to errors and there are known issues.

To keep it short, I'll name a few:

  • Firstly, it creates false negatives when publishing a package tagged as pre-release, e.g. notice that the following click-ui@0.0.251-rc.16 has been published successfully, but the related runner is faulty and red.
  • Secondly, given that for a component library the authority is the package registar which consumers get the library, the GitHub release is created ahead of time, regardless of whether the package is actually published.
  • Thirdly, versioning is somewhat done manually based on instructions, which are prone to errors.
  • Others include that every version release is a patch, and there's no way to determine if there are breaking changes by looking at version numbering.

Therefore, a new release workflow based on changeset is introduced to automate, facilitate and improve the experience.

  • It's based in a single source of truth, e.g. uses changesets prerelease mode
    manages Changelog file, e.g. changesets updates the CHANGELOG.md with user curated details at time of contribution (hot in the subject), it's version managed, e.g. semantically version speaking, versions are computed based on the actual contribution type, we know if major, minor or a simple patch.
  • It's reviewable, e.g. all changes are shown in pull request before publishing!
  • It's automatic; publishing happens on merge to main. Plus, it's safe, can't accidentally publish without PR approval and review.

Last but not least, the process doesn't block the existing (for deprecation) publish workflow. As this requires thorough testing and tweaks during runtime, it'll be tested before erasing the old manual version.

How?

  • Provides a new GitHub action for "Creating a new release pull request"
  • Provides a new GitHub action for "Publishing merged releases", e.g. triggers if a new release version tag is available
  • Updated documentation, explaining how it works or how to use it

Preview?

N/A

@changeset-bot
Copy link

changeset-bot bot commented Jan 26, 2026

⚠️ No Changeset found

Latest commit: 5cc167a

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

@vercel
Copy link

vercel bot commented Jan 26, 2026

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

Project Deployment Actions Updated (UTC)
click-ui Ready Ready Preview, Comment Feb 3, 2026 10:09am

Request Review

Copy link
Collaborator

@DreaminDani DreaminDani left a comment

Choose a reason for hiding this comment

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

I'm not the right person to approve this. But wanted to chime in to say that I love changeset. It's a great choice for a library like this :)

@punkbit
Copy link
Collaborator Author

punkbit commented Jan 26, 2026

I'm not the right person to approve this. But wanted to chime in to say that I love changeset. It's a great choice for a library like this :)

Thanks for the feedback, it's always welcome! Ideally, contributions and collaboration should be inclusive; everyone's a builder.

@gjones
Copy link
Collaborator

gjones commented Jan 27, 2026

@vineethasok are you able to weigh in on this?

@punkbit punkbit marked this pull request as ready for review February 3, 2026 10:14
Copy link
Collaborator

@DreaminDani DreaminDani left a comment

Choose a reason for hiding this comment

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

I see no reason why we shouldn't merge this.

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.

4 participants