Skip to content

chore(release): enter beta pre-release mode for 2nd-gen (2.0.0-beta.0)#6413

Draft
Rajdeepc wants to merge 7 commits into
mainfrom
gen2-beta
Draft

chore(release): enter beta pre-release mode for 2nd-gen (2.0.0-beta.0)#6413
Rajdeepc wants to merge 7 commits into
mainfrom
gen2-beta

Conversation

@Rajdeepc

@Rajdeepc Rajdeepc commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Description

Puts the 2nd-gen packages into Changesets pre-release mode (dist-tag beta) on a dedicated, long-lived gen2-beta release branch, and baselines them onto the 2.0.0 major line.

After this change, @spectrum-web-components/core and @adobe/spectrum-wc are versioned as 2.0.0-beta.0; subsequent releases increment 2.0.0-beta.N, leading up to a clean 2.0.0 GA via changeset pre exit.

This is a release-process / versioning change only. There are no component runtime, API, styling, or markup changes — so the manual, device, and accessibility test sections below are N/A.

Motivation and context

We're running a private 2nd-gen beta (through ~mid-July). The requirements:

  • Publish 2nd-gen under a beta dist-tag, kept separate from 1st-gen's next.
  • Use semver-correct, ordered pre-release versions (2.0.0-beta.0 → 2.0.0-beta.1 → …) rather than:
    • snapshot timestamps (0.0.0-beta-<datetime>) — unordered, not a real release line, or
    • a 0.x line — per semver this signals "initial development, anything may change" (item 4), which understates how stable 2nd-gen actually is. A -beta pre-release of 2.0.0 (item 9) is the accurate signal.
  • A clean promotion to 2.0.0 for GA.

Changesets pre-release mode delivers exactly this. Because core and @adobe/spectrum-wc are a linked group currently on 0.x, we baseline them to 1.0.0 and add a single major changeset so the bump resolves to 2.0.0. Pre mode then holds the base at 2.0.0 and only advances the -beta.N counter on each release.

What changed

  • @spectrum-web-components/core and @adobe/spectrum-wc2.0.0-beta.0 (linked, in lockstep).
  • @adobe/spectrum-wc's internal @spectrum-web-components/core dependency → 2.0.0-beta.0.
  • Added .changeset/pre.json ("mode": "pre", "tag": "beta").
  • Added one major changeset for the Gen2 2.0.0 milestone.
  • Generated CHANGELOG entries and updated the yarn.lock core descriptor.
  • @spectrum-web-components/2nd-gen is intentionally untouched — it is private: true with no exports/files (workspace root only) and is never published.

How to verify

On this branch:

  • @spectrum-web-components/core and @adobe/spectrum-wc package.json versions are 2.0.0-beta.0.
  • swc's @spectrum-web-components/core dependency is 2.0.0-beta.0.
  • Both CHANGELOGs top with ## 2.0.0-beta.0; swc's "Updated dependencies" cites core@2.0.0-beta.0.
  • yarn.lock shows @spectrum-web-components/core@npm:2.0.0-beta.0.
  • .changeset/pre.json exists with mode: pre, tag: beta.

Reproduce the version progression in a throwaway worktree (no risk to main):

Step core @adobe/spectrum-wc
pre enter beta + version 2.0.0-beta.0 2.0.0-beta.0
add changeset + version 2.0.0-beta.1
add changeset + version 2.0.0-beta.2
pre exit + version 2.0.0 2.0.0

Not in this PR (follow-ups)

  • Publish wiring: the publish.yml workflow on main runs changeset version --snapshot for non-latest tags, which would clobber the committed 2.0.0-beta.0. Releasing the real beta uses the scope=2nd-gen publish path (packs from package.json + npm publish --tag beta, no re-version) and needs the "skip changeset version for scope=2nd-gen" gate. Tracked separately.
  • This branch is long-lived (per the changesets pre-release docs). While pre.json exists, every changeset version produces a beta — do not run a normal release from it without changeset pre exit first.

Related issue(s)

  • Jira: <ADD TICKET NUMBER — do not link, per Adobe guidance>

Author's checklist

  • I have read the CONTRIBUTING and PULL_REQUESTS documents.
  • I have included a well-written changeset (the Gen2 2.0.0 milestone major changeset).
  • I have added automated tests to cover my changes. (N/A — release configuration only.)
  • I have included updated documentation if my change required it. (See gen2-beta-release-strategy.md shared separately.)

Manual review / Device review / Accessibility testing

N/A — this PR changes only release versioning configuration (Changesets pre-release mode + version baselines). There is no UI, DOM, focus, or screen-reader surface affected, and no runtime code paths change. Reviewers should focus on the versioning/changeset correctness above.

Baseline @spectrum-web-components/core and @adobe/spectrum-wc to the 2.0.0
major line and enter Changesets pre-release mode (tag: beta) so 2nd-gen
betas are cut as semver-correct 2.0.0-beta.N, leading up to a clean 2.0.0 GA.

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot

changeset-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8b4f297

The changes in this PR will be included in the next version bump.

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

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

📚 Branch Preview Links

🔍 First Generation Visual Regression Test Results

When a visual regression test fails (or has previously failed while working on this branch), its results can be found in the following URLs:

Deployed to Azure Blob Storage: pr-6413

If the changes are expected, update the current_golden_images_cache hash in the circleci config to accept the new images. Instructions are included in that file.
If the changes are unexpected, you can investigate the cause of the differences and update the code accordingly.

Rajdeep Chandra and others added 5 commits June 17, 2026 15:21
Co-authored-by: Cursor <cursoragent@cursor.com>
Add a manual `scope` input (all | 2nd-gen) to the Publish Packages
workflow so a private beta of the 2nd-gen packages can be cut on demand
without releasing 1st-gen.

When scope is `2nd-gen`, only @spectrum-web-components/core (OIDC trusted
publishing) and @adobe/spectrum-wc (npm token) are packed and published
under the chosen pre-release dist-tag; 1st-gen steps and React wrappers
are skipped, and the `latest` tag is rejected for this scope. The default
`all` scope and the automatic push-to-main `next` release are unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 5169fc4)
Allow the 2nd-gen-only scope to run with npm publish --dry-run so the
build, version, and pack steps can be validated from a feature branch
without writing to the npm registry.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 9626abc)
The check-changesets step runs under `bash -e`, so the package-detection
grep aborted the job whenever a changeset referenced only
@spectrum-web-components/core (grep -v matches nothing and exits 1).
Add `|| true` so core-only and @adobe-only changesets are handled.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit b8f8fcf)
…-release versions

For the 2nd-gen beta scope, publish the versions already committed on the
pre-release branch (2.0.0-beta.N) instead of letting `changeset version
--snapshot` overwrite them with a timestamped snapshot.

Co-authored-by: Cursor <cursoragent@cursor.com>
@rubencarvalho rubencarvalho added the run_vrt Triggers the Chromatic VRT run for 2nd-gen label Jun 17, 2026
@Rajdeepc Rajdeepc deployed to npm-publish June 18, 2026 08:10 — with GitHub Actions Active
@Rajdeepc Rajdeepc added the do-not-merge NO MERGE-Y! label Jun 18, 2026
@rubencarvalho rubencarvalho removed the run_vrt Triggers the Chromatic VRT run for 2nd-gen label Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge NO MERGE-Y!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants