Repository navigation
test(ssh): Windows host lane drops relay cells - #27421
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ⬇️ Low Merge Risk: ⚪ Minimal · up to No actionable issue is established for these changes; the PR is mergeable after normal checks. Pre-merge checks |
|
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.
a7ae58d to
a2c2b9a
Compare
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.tsdrops the three relay cells (pinned-cmd,pinned-powershell,legacy-opt-out), the unused Windows tool/shell lists and theorcad-cli-relay-keptcell id. The descriptor parser now rejects those ids;windowsHostSshTargettakes the descriptor alone (every caller passedpinned-node).tests/e2e/ssh-orcad-windows-cli-matrix.spec.tsdrops the@orcad-cli-relay-kepttest and its private retry helper.tests/e2e/helpers/ssh-test-target-connection.tsloses its last importer and is deleted.invoke-pinned-relay-cells.ps1→invoke-windows-host-cells.ps1; its cell list, shells, relay-log glob and relay wording go.ssh-windows-hosts.ymldrops a path filter for a deleted file (src/shared/relay-windows-breakaway-launch.ts), thebuild-relay.mjsfilter and thepnpm run build:relaystep. That build now only makes the WSL guest bundles, which no Windows-host cell uses (tests/e2e/global-setup.tsonly builds/readsout/relayfor 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 cellfor any non-orcad-vitest cell, and the relay-kept case could not connect. I dispatchedorcad-cli-relay-kepton main first (run 38125224102); it fails on both x64 servers withError 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 -woversrc config tests .github mobile, including the 159@ts-nocheckfiles): no remaining reference toWINDOWS_HOST_CELL_IDS,isWindowsHostCellId,windowsHostCell,WindowsHostCell(Id),WINDOWS_SSH_DEFAULT_SHELLS,WINDOWS_FORBIDDEN_TOOLS,connectSshTestTarget,ssh-test-target-connectionorinvoke-pinned-relay-cells; the onlyorcad-cli-relay-kepthit is the new parser-rejection assertion. Nothing in production importsssh-windows-host-cells.ts.Noticed, not changed here:
@orcad-cli-convertimportsconvertThenRetire, whichhelpers/orcad-convert-flow.tshas 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 hostsworkflow runs on this PR (it matches its own path filter) and parses every.ps1first.I manually tested these changes locally
Automated tests added/updated, or explained why not below
Review
Agent skill upstream boundary
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
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)