Skip to content

test(ssh): Windows host lane drops relay cells - #27421

Merged
OrcaWin merged 1 commit into
mainfrom
OrcaWin/p399-0-3
Oct 11, 2026
Merged

OrcaWin merged 1 commit into
mainfrom
OrcaWin/p399-0-3

Conversation

@OrcaWin

@OrcaWin OrcaWin commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

ELI5

A Windows CI job tests Orca against a real Windows SSH server. Some of its test cases still tried to use the old "relay" way of talking to SSH hosts, which Orca no longer has. Those cases could never pass, so this removes them and the leftovers only they used.

What Changed

No product behaviour changes. Only test and CI code:

  • src/main/ssh/ssh-windows-host-cells.ts drops the three relay cells (pinned-cmd, pinned-powershell, legacy-opt-out), the unused Windows tool/shell lists and the orcad-cli-relay-kept cell id. The descriptor parser now rejects those ids; windowsHostSshTarget takes the descriptor alone (every caller passed pinned-node).
  • tests/e2e/ssh-orcad-windows-cli-matrix.spec.ts drops the @orcad-cli-relay-kept test and its private retry helper. tests/e2e/helpers/ssh-test-target-connection.ts loses its last importer and is deleted.
  • The PowerShell runner is renamed invoke-pinned-relay-cells.ps1 → invoke-windows-host-cells.ps1; its cell list, shells, relay-log glob and relay wording go.
  • ssh-windows-hosts.yml drops a path filter for a deleted file (src/shared/relay-windows-breakaway-launch.ts), the build-relay.mjs filter and the pnpm run build:relay step. That build now only makes the WSL guest bundles, which no Windows-host cell uses (tests/e2e/global-setup.ts only builds/reads out/relay for Docker SSH runs).

Net lines: −453 (+51 / −504). Test-support module ssh-windows-host-cells.ts −62, CI workflow/PowerShell −5, tests −386 (rebased over #27419, which already trimmed the cell expectations).

Why

Before: the runner already threw Unknown Windows host cell for any non-orcad- vitest cell, and the relay-kept case could not connect. I dispatched orcad-cli-relay-kept on main first (run 38125224102); it fails on both x64 servers with Error invoking remote method 'ssh:connect': This SSH host isn’t supported by this version of Orca. After: the lane lists only cells that can run. Deleting is better than keeping them skipped, since skipped dead cases still have to be kept compiling and read around.

Dead-code proof (rg -w over src config tests .github mobile, including the 159 @ts-nocheck files): no remaining reference to WINDOWS_HOST_CELL_IDS, isWindowsHostCellId, windowsHostCell, WindowsHostCell(Id), WINDOWS_SSH_DEFAULT_SHELLS, WINDOWS_FORBIDDEN_TOOLS, connectSshTestTarget, ssh-test-target-connection or invoke-pinned-relay-cells; the only orcad-cli-relay-kept hit is the new parser-rejection assertion. Nothing in production imports ssh-windows-host-cells.ts.

Noticed, not changed here: @orcad-cli-convert imports convertThenRetire, which helpers/orcad-convert-flow.ts has not exported since #24863 (the e2e tsconfig is not a CI gate). That is a separate fix.

Linked Issue

Phase 3.99 cleanup, PR 0.3 (maintainer; no issue).

Visual Proof

N/A: CI and test code only, no UI or behaviour change.

Testing

  • pnpm tc, pnpm lint, oxlint, pnpm run check:code-quality:changed: pass.

  • pnpm test src/main/ssh/ssh-windows-host-cells.test.ts src/main/ssh/orcad-windows-host-lane.test.ts config/scripts/orcad-windows-prebuild-workflow.test.mjs config/scripts/relay-windows-process-tree-prepared-addon.test.mjs config/scripts/ci-dependency-download-cache.test.mjs: pass.

  • The SSH Windows hosts workflow runs on this PR (it matches its own path filter) and parses every .ps1 first.

  • I manually tested these changes locally

  • Automated tests added/updated, or explained why not below

Review

Agent skill upstream boundary

  • Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Notes

Security, mobile and wire compatibility: not affected (test/CI only). SSH: the Windows-host lane keeps every managed-orcad cell. Cross-platform: PowerShell edits are list and comment changes only.

Checklist

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
  • pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 870da9e2-49b8-4578-8ee1-9ab0e28d392b


📥 Commits

Reviewing files that changed from the base of the PR and between a7ae58d and a2c2b9a.



📒 Files selected for processing (2)
  • src/main/ssh/ssh-windows-host-cells.test.ts
  • src/main/ssh/ssh-windows-host-cells.ts


Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review.




📝 Walkthrough
📝 Walkthrough

Walkthrough

The Windows SSH host workflow now builds the win32 template and runs Orcad host cells through the Windows host-cell provider. The provider uses Orcad cell mappings, collects Orcad logs, and records host-process results. The SSH target API derives target details from the cell descriptor. The Windows CLI matrix removes the relay-kept scenario and its supporting test helpers.



Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to a2c2b

No actionable issue is established for these changes; the PR is mergeable after normal checks.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly and concisely describes the main change: removing obsolete relay cells from the Windows SSH host lane.
Description check Passed The description follows the repository template and explains the scope, rationale, testing, visual proof, compatibility considerations, and checklist status. The maintainer-specific absence of a linke…

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR



  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The relay client is gone, so the three relay-ladder cells and the
@orcad-cli-relay-kept matrix case could not run. Delete them, their
last helper (ssh-test-target-connection), a stale path filter and the
unused build:relay step; rename the runner to invoke-windows-host-cells.ps1.
@OrcaWin
OrcaWin merged commit 92e204f into main Oct 11, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant