Skip to content

[Stage 1.6] Migrate and validate the v2 release workflow for the monorepo #333

Description

@draedful

Parent: #318

Goal

Prove that v2 can be released and consumed from npm after the repository becomes a pnpm monorepo.

The workflow is a production delivery path, not only a build check.

Scope

  • Keep release-v2.yml triggered by the v2 branch before cutover.
  • Replace root-package npm assumptions with the Stage 1 pnpm workspace and package build model.
  • Build and publish only public packages.
  • Prevent private workspace packages from being published.
  • Prevent unresolved imports or published dependencies on private packages.
  • Permit only 2.x prereleases from v2.
  • Publish under next; never update latest before cutover.
  • Keep release creation behind a reviewed release pull request or equivalent approval.
  • Verify generated versions, changelogs, Git tags, GitHub Releases, package manifests, and npm artifacts.
  • Install the published prerelease from npm in clean vanilla JavaScript, React, and applicable Playwright consumer fixtures.
  • Document the cutover-only configuration change from v2/next to main/latest.
  • Provide a dry-run for the future stable v2 release path.

Acceptance criteria

  • release-v2.yml runs from v2 using pnpm and the monorepo package graph.
  • Only intended public packages are publishable.
  • A 2.x prerelease is published under next after explicit approval.
  • The prerelease does not update latest.
  • Version, changelog, tag, GitHub Release, manifest, and npm artifact agree.
  • Published packages contain no unresolved private-package imports or dependencies.
  • Clean consumer fixtures install from npm without workspace access.
  • Root, React, and applicable Playwright entry points pass runtime and type checks.
  • The main/latest cutover configuration is covered by a safe dry-run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions