chore: use changesets to support an automatic release process - #3448
Draft
zbynekstara wants to merge 1 commit into
Draft
chore: use changesets to support an automatic release process#3448zbynekstara wants to merge 1 commit into
zbynekstara wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
A simpler version of #3445.
Use changesets for deferred versioning and changelog creation.
NOTE: Tags/Releases become per-package (
@joint/core@4.4.0) instead ofv4.3.1.Motivation and Context
This will allow us to streamline our release process by asking PR contributors to make versioning and changelog decisions at PR time (when they have the most context about their changes) instead of at release time.
A changeset is a file inside
.changesets/folder (one per PR), which records two things:Setup TODO
Before the Changesets release pipeline can run, these steps need to be completed:
masterbranch protection is setup, we may also need to:contents: write+pull-requests: write,installed on clientIO/joint. Add its credentials as repo secrets RELEASE_APP_ID and
RELEASE_APP_PRIVATE_KEY.
What to expect on the first run
The empty changeset currently in .changeset/ means the first push to master goes into version mode and opens a "Version Packages" PR whose only content is the deletion of that file — no version bumps. Merge it; select-mode then reports none (every version matches npm, which is exactly what the version/private fixes bought you) and nothing publishes. Real releases start with the next PR that carries a real changeset.