Skip to content

Migrate to CTT 4 with Linux#11

Open
AlCalzone wants to merge 8 commits into
mainfrom
migrate-native-linux
Open

Migrate to CTT 4 with Linux#11
AlCalzone wants to merge 8 commits into
mainfrom
migrate-native-linux

Conversation

@AlCalzone

Copy link
Copy Markdown
Member

No description provided.

AlCalzone and others added 8 commits May 29, 2026 17:50
Replace the five .ps1 setup scripts with directly-executable .ts
equivalents (shebang + chmod) for native Linux: download the Z-Wave stack
binaries and CTT 4 archive, unpack the CTT archive into ctt/bin/ +
~/.ctt-4/, and unpack/pack the network-state archive.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Run the stack and CTT 4 as native POSIX processes instead of via WSL/
taskkill: detached process groups with negative-PID group kills, name-based
orphan sweeps, and a force-quit on a second shutdown signal. Switch TS
execution to --experimental-strip-types.

Adapt the harness to CTT Remote 4's protocol, which streams all test output
(and verdicts) through generalLogMsg rather than the CTT 3 testCaseLogMsg/
testCaseFinished methods: render that output, detect the current test, parse
the final verdict, and synthesize testCaseFinished so results are captured.

Make shutdown graceful: cleanup() owns the single cancelTestRun -> closeCTT
sequence (no redundant double-close), and closeCTT treats an unreachable CTT
as already-closed instead of retrying for ~15s. Auto-retry CTT launch to
work around its intermittent startup crash.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Commit the CTT 4-migrated project (endpoint folder lowercased to
root device/, migrated .cttsln and Config). Neutralize machine-specific,
runtime-rewritten values for portability: KeysStoragePath and the Reports
path, and strip transient per-run LogHistoryItem entries from the cttproj.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Switch the runner's TS execution to --experimental-strip-types and bump
zwave-js to ^15.24.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace run-zwave-wsl.yml with run-zwave.yml: native Ubuntu runner with
.NET 10, i386 libs for the 32-bit stack binaries, the executable .ts setup
steps, and native zip log packaging.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the WSL/.NET Framework Windows instructions with native Linux
prerequisites (.NET 10, i386 libs, python3, Node), npm run setup/start
usage, and ss/pgrep/ldd troubleshooting.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cut verbose detail from the native-Linux rewrite and explain that CTT must be
vendored as a ctt-setup.zip (ctt-bin/ + appdata/), downloaded from a private
repo, with self-hosting as the recommended approach.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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