feat: add package-first release flow
This commit is contained in:
+22
-16
@@ -2,21 +2,28 @@
|
||||
|
||||
This directory is the release-intent ledger for Cadence UI.
|
||||
|
||||
The repo is still an internal/private monorepo, so Changesets is used conservatively:
|
||||
Changesets now drives the package-first release flow for:
|
||||
|
||||
- track version intent for releasable workspace packages
|
||||
- keep release notes attached to code changes
|
||||
- avoid tagging private packages during early internal iteration
|
||||
- let CI verify release intent before package work merges
|
||||
- `@ai-ui/ui`
|
||||
- `@ai-ui/tokens`
|
||||
|
||||
The two packages move as a fixed version pair. Changesets remains the source of truth for:
|
||||
|
||||
- version intent
|
||||
- consumer-facing release notes
|
||||
- version PR generation
|
||||
- publish coordination for the package pair
|
||||
|
||||
## CI behavior
|
||||
|
||||
This repo now has two release-adjacent workflows:
|
||||
This repo now has four release-adjacent workflows:
|
||||
|
||||
- `Changeset Status` runs on pull requests and checks whether changes to releasable packages
|
||||
include a `.changeset/*.md` entry, while also verifying that `registry/index.json` is current.
|
||||
include a `.changeset/*.md` entry, while also verifying both package and registry consumer flows.
|
||||
- `Release Version PR` runs on `main` and opens or updates a version PR by running
|
||||
`pnpm release:version`.
|
||||
- `Create Release Tag` runs on `main` after the version pair changes and creates `cadence-ui-vX.Y.Z`.
|
||||
- `Publish Packages` runs on `cadence-ui-v*` tags and publishes the package pair.
|
||||
|
||||
The PR check intentionally focuses on the releasable packages in scope today:
|
||||
|
||||
@@ -62,14 +69,13 @@ Refactor dialog wrapper internals and update story coverage.
|
||||
|
||||
## Current release posture
|
||||
|
||||
The root repo is private and package publishing is not fully wired yet. Until the main release
|
||||
flow is enabled, treat Changesets as the source of truth for:
|
||||
The root repo remains private, but `@ai-ui/ui` and `@ai-ui/tokens` are now treated as published
|
||||
packages. The automated flow is:
|
||||
|
||||
- which package versions should move
|
||||
- which changes deserve release notes
|
||||
- which internal dependency bumps should be coordinated
|
||||
1. merge a changeset-backed package change
|
||||
2. merge the version PR generated on `main`
|
||||
3. let the tag and publish workflows ship the fixed package pair
|
||||
|
||||
The current automation stops at version intent, registry metadata refresh, and version PR creation.
|
||||
It does not publish to npm, create tags, or assume any package registry credentials exist yet.
|
||||
|
||||
See `docs/releasing.md` for the expected workflow around creating and consuming changesets.
|
||||
See [docs/releasing.md](/Users/xd/project/cadence-ui/docs/releasing.md) for the current release
|
||||
workflow and [docs/registry.md](/Users/xd/project/cadence-ui/docs/registry.md) for the optional
|
||||
source-copy mode.
|
||||
|
||||
@@ -5,7 +5,12 @@
|
||||
"access": "restricted",
|
||||
"baseBranch": "main",
|
||||
"updateInternalDependencies": "patch",
|
||||
"fixed": [],
|
||||
"fixed": [
|
||||
[
|
||||
"@ai-ui/tokens",
|
||||
"@ai-ui/ui"
|
||||
]
|
||||
],
|
||||
"linked": [],
|
||||
"ignore": [
|
||||
"@ai-ui/docs"
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@ai-ui/tokens": minor
|
||||
"@ai-ui/ui": minor
|
||||
---
|
||||
|
||||
Ship package-first distribution for `@ai-ui/ui` and `@ai-ui/tokens`, including publishable package exports, package consumer validation, and automated tag-to-publish release flow.
|
||||
Reference in New Issue
Block a user