Skip to content

[Chore] Better changesets release flow#434

Draft
art-alexeyenko wants to merge 32 commits intodevfrom
chore/jss-8623-better-changesets
Draft

[Chore] Better changesets release flow#434
art-alexeyenko wants to merge 32 commits intodevfrom
chore/jss-8623-better-changesets

Conversation

@art-alexeyenko
Copy link
Copy Markdown
Collaborator

@art-alexeyenko art-alexeyenko commented Apr 8, 2026

Description / Motivation

  • Applies multi-version release support for monorepo via changesets
  • Introduces a new canary release flow via snapshots
  • All version updates and publishes are now handled by changesets, instead of lerna CLI

There are certain complications of the current canary flow makes multi-version support harder:

  • Pushing canary version updates into both npm and updating package.json versions in GitHub
    • full releases need to have caret (^x.x.x) dependencies, canary releases need to use exact canaries
    • internal packages are present in peerDependencies - and lerna does not bump those on canary updates, causing errors
  • managing separate canary versions within GitHub is hard to track

As an answer to these challenges, new, simplified canary flow:

  • Does not update package versions to canary in GitHub
  • Only publishes snapshot canary releases to npm
  • Only publishes snapshot canary releases for the packages that are pending full release (i.e. packages that have changesets + create-content-sdk so the canary can be tested)
  • NPM canary release is tagged with canary (dev branch, regular release flow) or hotfix-canary (release/ branches, hotfix release flow)
  • Additionally, canary release of create-content-sdk is tagged with canary.commit-{SHA} and canary.pr-{origin_pr_id} for easier identification

This approach preserves pre-release publishes for QA and preview, and simplifies the overall flow.
Note: should be merged after next full release for all packages in monorepo.

Testing Details

  • Unit Test Added
  • Manual Test/Other (Please elaborate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Chore

art-alexeyenko and others added 30 commits December 22, 2025 19:07
…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
…c/jss-8623-changeset-multiver

# Conflicts:
#	lerna.json
#	packages/create-content-sdk-app/package.json
…c/jss-8623-changeset-multiver

# Conflicts:
#	lerna.json
#	packages/create-content-sdk-app/package.json
#	packages/create-content-sdk-app/src/templates/nextjs-app-router/package.json
#	packages/create-content-sdk-app/src/templates/nextjs/package.json
#	yarn.lock
…ore/jss-8623-better-changesets

# Conflicts:
#	.github/workflows/publish.yml
#	packages/create-content-sdk-app/package.json
#	packages/create-content-sdk-app/src/templates/nextjs-app-router/package.json
#	yarn.lock
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 8, 2026

📦 Package Size and Test Coverage Report

Package Base Size PR Size Δ Change Base Coverage PR Coverage Δ Change
analytics-core 61.03 KB 61.03 KB ✅ 0.00 KB 100.00% 100.00% 0.00%
cli 59.14 KB 59.14 KB ✅ 0.00 KB 70.09% 70.09% 0.00%
content 424.95 KB 424.95 KB ✅ 0.00 KB 92.26% 92.26% 0.00%
core 120.38 KB 120.38 KB ✅ 0.00 KB 91.25% 91.25% 0.00%
create-content-sdk-app 334.29 KB 335.87 KB 🔺 +1.58 KB 96.22% 96.35% +0.13%
events 73.85 KB 73.85 KB ✅ 0.00 KB 97.98% 97.98% 0.00%
nextjs 491.65 KB 491.65 KB ✅ 0.00 KB 90.64% 90.64% 0.00%
personalize 64.01 KB 64.01 KB ✅ 0.00 KB 99.74% 99.74% 0.00%
react 229.83 KB 229.83 KB ✅ 0.00 KB 93.68% 93.68% 0.00%
search 7.30 KB 7.30 KB ✅ 0.00 KB 98.57% 98.57% 0.00%
Total 🔺 +1.58 KB

- name: Build packages
run: npm run build

- name: Creating .npmrc
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(Optional) Maybe we can create a job that will create the file so we don't have the same block 2 times

Comment thread .github/workflows/hotfix_release_prep.yml Outdated
Copy link
Copy Markdown
Contributor

@sc-nikolaoslazaridis sc-nikolaoslazaridis left a comment

Choose a reason for hiding this comment

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

Looks good, we can revaluate after the first run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants