You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/release-process.md
+29-6Lines changed: 29 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,12 +74,11 @@ When a release tag is pushed, [.github/workflows/release.yml](../.github/workflo
74
74
1. installs dependencies with pnpm
75
75
2. runs linting and tests
76
76
3. validates the release-contract docs
77
-
4. builds the package being released
78
-
5. packs the package with `npm pack --ignore-scripts`
79
-
6. smoke-tests the tarball with Yarn 1, npm, and pnpm
80
-
7. renders release notes with the tarball install URL
81
-
8. creates or updates the GitHub release
82
-
9. uploads release assets
77
+
4. prepares the package release assets in a dedicated staging directory outside the package tree
78
+
5. smoke-tests the tarball with Yarn 1, npm, and pnpm
79
+
6. renders release notes with the tarball install URL
80
+
7. creates or updates the GitHub release
81
+
8. uploads release assets
83
82
84
83
Toolkit releases upload:
85
84
@@ -145,6 +144,7 @@ pnpm smoke:release-artifacts
145
144
```
146
145
147
146
This validates the public docs and then tests the current branch tarballs with Yarn 1, npm, and pnpm.
147
+
It uses the same staged-asset preparation path as the tag-driven release workflow, so PR validation exercises the same artifact handoff that production releases rely on.
148
148
149
149
For local iteration you can scope this wrapper to one package and one or more package managers:
150
150
@@ -153,6 +153,17 @@ For local iteration you can scope this wrapper to one package and one or more pa
The script prints the package, version, and staged asset paths. Toolkit releases must stage both the versioned `.zip` and the package tarball before the workflow can create or update the GitHub release.
166
+
156
167
### Test unreleased changes locally in another consumer
157
168
158
169
Toolkit:
@@ -184,6 +195,18 @@ Common causes:
184
195
- smoke test failures for the tarball install contract
185
196
- stale docs or release templates that still mention the old git-subdirectory syntax
186
197
198
+
### Why release assets are staged outside the package tree
199
+
200
+
The release workflow deliberately copies built assets into a dedicated staging directory before it runs `npm pack`.
201
+
202
+
This is intentional. CI previously showed the toolkit `createZip` step completing successfully, then failed later when the workflow tried to rediscover the versioned zip from `packages/toolkit/dist/`. Local reproduction did not show the same disappearance, and the local/CI npm versions differed, so the release flow now treats the package working tree as unstable across later packaging steps.
0 commit comments