@@ -9,6 +9,27 @@ The project uses:
99- ** [ npm Trusted Publishers] ( https://docs.npmjs.com/trusted-publishers ) ** with OIDC for secure, tokenless publishing
1010- ** Two-workflow architecture** separating version management from publishing
1111
12+ ## Release Types
13+
14+ | Type | npm Tag | Trigger | GitHub Release |
15+ | ------| ---------| ---------| ----------------|
16+ | ** Stable** (` 1.0.0 ` ) | ` @latest ` | Git tag ` v1.0.0 ` | Release |
17+ | ** Pre-release** (` 1.0.0-beta.1 ` ) | ` @next ` | Git tag ` v1.0.0-beta.1 ` | Pre-release |
18+ | ** Nightly** (` 0.0.1-nightly-20250113 ` ) | ` @nightly ` | Scheduled (weekdays) or manual | None |
19+
20+ ### Installing Different Versions
21+
22+ ``` bash
23+ # Stable release (default)
24+ npm install @salesforce/b2c-cli
25+
26+ # Pre-release (beta, preview, rc)
27+ npm install @salesforce/b2c-cli@next
28+
29+ # Nightly snapshot
30+ npm install @salesforce/b2c-cli@nightly
31+ ```
32+
1233## Published Packages
1334
1435Only these three packages are published to npm:
@@ -38,8 +59,11 @@ The publish workflow explicitly filters to only these three packages using `--fi
3859
3960### Workflow 2: ` publish.yml ` - npm Publishing
4061
41- - ** Trigger** : Push of version tags (` v1.0.0 ` , ` v1.0.0-beta.1 ` , etc.)
42- - ** Purpose** : Publishes packages to npm and creates GitHub Release
62+ - ** Triggers** :
63+ - Push of version tags (` v1.0.0 ` , ` v1.0.0-beta.1 ` , etc.) - stable/pre-releases
64+ - Schedule (weekdays at 2 AM UTC) - nightly snapshots
65+ - Manual ` workflow_dispatch ` - on-demand nightly
66+ - ** Purpose** : Publishes packages to npm and creates GitHub Releases (for tag-based releases)
4367- ** Permissions** : ` contents: write ` , ` id-token: write ` (for OIDC)
4468- ** Security** : Uses npm OIDC trusted publishers - no npm token required
4569
@@ -94,7 +118,39 @@ When ready to release:
94118 - Validate the tag matches package versions
95119 - Build and test all packages
96120 - Publish to npm via OIDC
97- - Create a GitHub Release with auto-generated notes
121+ - Create a GitHub Release with aggregated changelogs
122+
123+ ### Pre-releases (Beta, Preview, RC)
124+
125+ For pre-release versions, use changesets pre-release mode:
126+
127+ ``` bash
128+ # Enter pre-release mode
129+ pnpm changeset pre enter beta
130+
131+ # Continue normal workflow: create changesets, merge version PR
132+ # Versions will be like 1.0.0-beta.0, 1.0.0-beta.1, etc.
133+
134+ # Exit pre-release mode when ready for stable
135+ pnpm changeset pre exit
136+ ```
137+
138+ Pre-release tags (` v1.0.0-beta.1 ` ) publish to ` @next ` and create GitHub Pre-releases.
139+
140+ ### Nightly Releases
141+
142+ Nightly releases run automatically on weekdays at 2 AM UTC. They can also be triggered manually:
143+
144+ 1 . Go to ** Actions** → ** Publish to npm** workflow
145+ 2 . Click ** Run workflow**
146+ 3 . Select ` nightly ` and click ** Run workflow**
147+
148+ Nightly versions use changesets snapshot format: ` 0.0.1-nightly-20250113 `
149+
150+ ** Notes:**
151+ - Nightly releases do NOT create GitHub releases
152+ - They publish to the ` @nightly ` npm tag
153+ - Each nightly overwrites the previous ` @nightly ` tag
98154
99155## Changeset Configuration
100156
0 commit comments