[rushd][WS5] Rush 6 cutover: testing, observability & migration
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- node.js, typescript
調査の方向性
Start by reviewing dependencies #5895–#5899 and #5858 phases 1–6, then trace the rush/rushx entry points and the daemon commands described here. Run the transparency, lifecycle, benchmark, logging, and documentation checks, including rush daemon logs --follow, rush change --verify, and the docs build. Done means all cutover gates pass and the daemon becomes the default with the documented in-process fallback and migration path.
索引モデルが issue の本文から書いたものです。
説明
Prove transparency and lifecycle correctness, then execute the Rush 6 cutover. First deliver the I/O and exit-code transparency matrix, concurrency/lifecycle integration coverage, warm-path benchmarks, and daemon logging/diagnostics — the bar that gates cutover-readiness. Then ship the plugin migration guide + @beta changelog, an optional compat shim, the version-policy/packaging flip to 6.0.0, the absorption of the CLI client into @microsoft/rush with the bin default flipped to the daemon (permanent in-process fallback), the phased-handler split, and user docs / rollout comms. Ships in the same major as #5858 phase 6.
Depends on: all above (#5895–#5899); #5858 phases 1–6
Scope
- Transparency matrix. Daemon vs in-process: stdout/stderr parity, redirection/piping, exit codes, TTY vs non-TTY, color/width, Ctrl+C, stdin, and cwd/env-override correctness.
- Lifecycle/concurrency integration tests. Auto-start races, queue-and-wait, shared-build merging, self-restart/handoff, version-mismatch restart, idle shutdown, and crash recovery (races made deterministic via hooks).
- Warm-path benchmarks. Assert a no-op
rush buildcollapses to sub-100ms once warm; track daemon RSS under each warm-set policy. - Logging & diagnostics. A structured
daemon.log,rush daemon logs --follow, and a debug/--verbosemode. - Cutover gate. The transparency, integration, and benchmark suites gate cutover-readiness — the migration and packaging items below proceed only once they are green.
- Plugin migration guide + @beta changelog. Hook renames/relocations, runner
lastState, and the process-identity break (process.cwd/env/argv/isTTY/exitnow reflect the daemon, not the client). - Optional compat shim. Re-expose a few removed hooks (
waitingForChanges→onIdle,onOperationStatusChanged←onExecutionStatesUpdated) so unmigrated plugins keep working during the transition. - Version-policy + packaging cutover. Add the new daemon packages (daemon, client, renderer, protocol, transport) to the rush lockstep policy and bump
mainProjectto6.0.0, coordinated with the Reporter Overhaul's "daemon-aligned major default flip" (#5858 phase 6) as the same release. - Flip the bin default. Absorb
@rushstack/rush-cli-clientinto@microsoft/rushand repointrush/rushxfrom in-process execution to the daemon client, keeping a permanent in-process fallback (--no-daemon/RUSH_DAEMON=0); retire (or thin to a re-export) the CLI-client package. - Phased-handler split. The client-side
PhasedScriptActiondegrades to parse→forward→stream→exit while the daemon owns graph/iteration/watch;--watchbecomes "attach to the live watched graph". - User docs + rollout comms. The daemon model, the
rush daemoncommands, CI guidance, and the Rush 5→6 migration path.
Acceptance criteria
- Every transparency-matrix cell asserts daemon output/behavior matches in-process, with actionable diagnostics on failure (which cell, expected vs actual).
- Each lifecycle/concurrency scenario has a deterministic integration test (races made deterministic via hooks).
- A warm no-op
rush buildmeets the sub-100ms budget (a regression fails the gate) and daemon RSS is recorded per warm-set policy and tracked over time in CI. - Lifecycle events and per-request correlation ids are written to a structured
daemon.log;rush daemon logs --followtails it and--verbose/debug increases detail. - The transparency, integration, and benchmark suites run in CI and gate cutover-readiness (the migration/packaging items below merge only once they are green).
- The migration guide documents each hook rename/relocation (before/after) and the process-identity break with recommended patterns, and every breaking change (the WS0 engine work and the cutover items below) links to it; reviewed by a plugin owner.
- An unmigrated plugin using the shimmed hook names runs unchanged when the optional, clearly-deprecated (with a removal target) shim is enabled.
- The new daemon packages are on the rush lockstep policy,
mainProjectis6.0.0, released in the same major as #5858 phase 6, with the cutover-readiness gates above green andrush change --verifypassing. -
rush/rushxdefault to the daemon client while--no-daemon/RUSH_DAEMON=0still run fully in-process; the transparency matrix above passes on the flipped bins; the standalone CLI-client package is retired or reduced to a re-export. - On the client,
rush build/rush startonly parse args, forward, stream, and exit (the daemon owns graph/iteration/watch), and--watchattaches to the daemon's live watched graph and reflects headless invalidations. - User-facing docs cover the daemon model,
rush daemoncommands, CI guidance, and the 5→6 migration path, are linked from the release notes and reviewed, and docs build green in CI.
Part of #5894.
- 主要言語
- TypeScript
- スター
- 6.5k
- フォーク
- 708
- 平均マージ
- 4日 7時間
- マージ済み PR(30日)
- 61
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/rushstack のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/rushstack#5971 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
microsoft/rushstack#5902 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/rushstack#5839 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
microsoft/rushstack#5683 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
microsoft/rushstack の issue をすべて見る
似ている issue
-
docs
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
remix-run/react-router#15558 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
solana-foundation/pay-kit#341 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
supabase/agent-skills#607 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信