Commit a4e6847
authored
publish.yml: wire 2.0 cutover release flow with platform packages (#362)
* publish.yml: wire 2.0 cutover release flow with platform packages
Restructure the release pipeline for the 2.0 cutover (epic #240):
- Convert cli-build.yml + napi-build.yml to reusable workflows so the
publish workflow can dispatch them via `uses:`. Drops the stub publish
jobs that lived inside each.
- Update publish.yml to ship 11 npm packages in lockstep:
- 3 TS-only umbrellas (relayburn, @relayburn/sdk napi umbrella, @relayburn/mcp)
- 4 prebuilt CLI platform packages (@relayburn/cli-<short>)
- 4 prebuilt SDK napi platform packages (@relayburn/sdk-<short>)
- Drop the 5 retiring TS packages (reader, ledger, analyze, ingest, cli)
from the publish loop. Their source dirs stay (cli-golden + conformance
fixture seeder still consume them); deprecation is a manual post-cutover
step.
- New publish job downloads artifacts from the build-cli + build-sdk
reusable workflows and stages them into per-platform package dirs
before pack/publish: `burn` binary → `packages/relayburn/npm/<short>/bin/`,
`relayburn-sdk.<short>.node` → `packages/sdk-node/npm/<short>/`.
- Use `npm pack` for non-workspace packages (umbrellas + platform packages
live outside the pnpm workspace per pnpm-workspace.yaml's excludes);
keep `pnpm pack` for `@relayburn/mcp` so workspace:* gets rewritten.
- Publish order: platform packages → umbrellas, so post-publish
`npm install relayburn` (or `@relayburn/sdk`) can resolve all four
optionalDependencies immediately.
- Tag scheme: `<key>-v<ver>` per npm target (e.g. `relayburn-v2.0.0`,
`cli-darwin-arm64-v2.0.0`). Canonical release tag is `relayburn-v<ver>`,
used by create-release. crates.io tags `relayburn-{sdk,cli}-v<ver>`
emitted once per run.
- Sync optionalDependencies on both umbrellas (`relayburn` for cli-*,
`@relayburn/sdk` napi umbrella for sdk-*) at bump time.
- Skip changelog generation for platform packages (they're implementation
detail tracking the umbrella version); umbrellas + mcp keep the
hand-curated `[Unreleased]` → `[x.y.z] - DATE` promotion.
Also: extend `.gitignore` to cover staged napi `.node` files in
per-platform sdk-node directories, and trim the verify-publish package
choices to the post-cutover three (relayburn, @relayburn/sdk, @relayburn/mcp).
* publish.yml: fix CLI artifact download path to match upload-artifact@v4 hierarchy
CodeRabbit (PR #362 review) flagged that upload-artifact@v4 preserves the
full directory structure for single-file uploads, so the CLI binary lands
at /tmp/cli-artifacts/relayburn-cli-<short>/packages/relayburn/npm/<short>/bin/burn
rather than the artifact root. The previous cli_src path would never resolve
at staging time, halting the publish run on the first matrix leg.
The SDK leg is unaffected because it uploads via a glob (packages/sdk-node/src/*.node),
and globs strip the path up to the first wildcard.1 parent dfa5498 commit a4e6847
5 files changed
Lines changed: 475 additions & 283 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | | - | |
6 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| |||
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
220 | 221 | | |
221 | 222 | | |
222 | 223 | | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
0 commit comments