Commit 0c0b2bf
Reporter overhaul (5/6): Heft protocol track (negotiated child descriptors) (#5869)
* Add Heft child descriptor integration with raw fallback
Integrate Heft as a cross-process reporter producer for @rushstack/reporter (#5858).
- Add allocateChildDescriptor and readChildDescriptorFd so Rush passes a
dynamically allocated inherited descriptor to the child through a private
environment variable while stdout and stderr stay normal streams
- Add HeftChildEmitter, which emits structured NDJSON over the descriptor or
falls back to raw stdout and stderr when negotiation is unavailable
- Add HeftDescriptorHost, which negotiates the child hello and correlates each
child event with the parent session and operation ids, surfacing an
update-global-Rush diagnostic on rejection
- Keep the raw-stream and problem-matcher path for older Heft versions
- Cover both the new descriptor and old raw-stream paths with tests
Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
* Add rush change file for Heft descriptor integration
Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
* Add a streaming parent drain for the Heft descriptor channel
HeftDescriptorHost gains incremental record processing (processChildRecord)
and createStreamProcessor(), which decodes NDJSON chunks as they arrive and
forwards accepted events in receipt order. This continuously drains the child
pipe (a chatty child no longer blocks on a full OS pipe buffer) and surfaces
child progress live, per the design-review realignment. The batch
processChildNdjson path is retained for completed streams and tests.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Harden Heft reporter descriptor protocol
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address Heft descriptor review feedback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 48b21772-7262-40a9-9524-c2b21582d201
* Fix Heft reporter change file package name
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 48b21772-7262-40a9-9524-c2b21582d201
* Document Heft child output streams
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 48b21772-7262-40a9-9524-c2b21582d201
---------
Co-authored-by: Sean Larkin <TheLarkInn@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
Copilot-Session: 48b21772-7262-40a9-9524-c2b21582d2011 parent d0129d8 commit 0c0b2bf
11 files changed
Lines changed: 1485 additions & 3 deletions
File tree
- common
- changes/@rushstack/rush-reporter
- reviews/api
- libraries/reporter/src
- diagnostics
- templates
- heft
- test
- research
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
19 | 22 | | |
20 | 23 | | |
21 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
22 | 28 | | |
23 | 29 | | |
24 | 30 | | |
| |||
167 | 173 | | |
168 | 174 | | |
169 | 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 | + | |
170 | 200 | | |
171 | 201 | | |
172 | 202 | | |
| |||
297 | 327 | | |
298 | 328 | | |
299 | 329 | | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
300 | 337 | | |
301 | 338 | | |
302 | 339 | | |
| |||
418 | 455 | | |
419 | 456 | | |
420 | 457 | | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
421 | 515 | | |
422 | 516 | | |
423 | 517 | | |
| |||
1131 | 1225 | | |
1132 | 1226 | | |
1133 | 1227 | | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
1134 | 1231 | | |
1135 | 1232 | | |
1136 | 1233 | | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
1137 | 1237 | | |
1138 | 1238 | | |
1139 | 1239 | | |
| |||
1285 | 1385 | | |
1286 | 1386 | | |
1287 | 1387 | | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
1288 | 1394 | | |
1289 | 1395 | | |
1290 | 1396 | | |
| |||
1326 | 1432 | | |
1327 | 1433 | | |
1328 | 1434 | | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
1329 | 1438 | | |
1330 | 1439 | | |
1331 | 1440 | | |
| |||
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
206 | 206 | | |
207 | 207 | | |
208 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
209 | 216 | | |
210 | 217 | | |
211 | 218 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
19 | 22 | | |
0 commit comments