Skip to content

ci(windows): check the installed app like a new user, and the uninstall - #81

Merged
EVMCOD merged 1 commit into
mainfrom
ci/windows-smoke
Oct 30, 2026
Merged

EVMCOD merged 1 commit into
mainfrom
ci/windows-smoke

Conversation

@EVMCOD

@EVMCOD EVMCOD commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

What and why

The Windows bundles workflow already installed the NSIS setup and started the app, but it only waited for /api/health, then killed the whole process tree with taskkill /T /F (the last run logged The process with PID … could not be terminated). That proves the app starts; it does not prove the two Windows-specific things that were fixed blind in #75: that parent_watch does not end the app, and that closing the app stops its server. And nothing checked the uninstall, although the data folder (%LOCALAPPDATA%\ConductLoop\data) sits inside the per-user install folder.

scripts/windows-smoke.ps1 -Setup <setup.exe> replaces that step:

  1. installs the setup silently, per user, and finds conductloop-desktop.exe and conductloop-server.exe;
  2. the server answers /api/health within 120 s;
  3. /api/platform says windows, with the in-app browser and code execution off (prints the keychain state);
  4. first run: onboarding fresh, /welcome served;
  5. a ConductLoop window, and a screenshot;
  6. 20 s later the app and its server are still running;
  7. closing the window (CloseMainWindow) stops the server: port free and no conductloop-server.exe left within 15 s;
  8. uninstalling silently removes the app and keeps data\ops.db.

It talks only to 127.0.0.1:7777 with GETs and publishes nothing. The step stays continue-on-error, as decided for it (a runner has no real desktop session), but each failed check is an ::error annotation on the run page, and the screenshot and log are uploaded for 3 days. The workflow is still manual; it was dispatched on this branch to test it.

How it was tested

  • tests/test_windows_bundles_workflow.py updated (installer uploads, the smoke step runs the script, its output is kept) and extended (the script only reads the local server, and checks platform, 20 s, close and uninstall); tests/test_workflows_guard.py green.
  • No PowerShell on the Mac: the dispatched run of the workflow on this branch (run 41037555981) was the real test. All 8 checks passed on windows-latest, first try: installed per user; server in 10 s as 1.2.3; /api/platform windows with browser and code execution off (keys in the encrypted file, "no system keychain integration on Windows yet"); first run with /welcome; the ConductLoop window open (screenshot: the welcome page renders, new icon in the title bar and taskbar); still running 20 s later; closing the window stopped the server in 1 s; uninstalling removed the app and kept data\ops.db.
  • Seen, not changed here: the welcome page says the key "is stored in the Keychain of this Mac" on Windows (and Linux) too.

Checklist

  • Tests added or updated.
  • No migrations.
  • CHANGELOG.md entry under Unreleased.
  • No personal data and no secrets.

🤖 Generated with Claude Code

scripts/windows-smoke.ps1 replaces the informational install-and-start step
of the Windows bundles workflow. It installs the NSIS setup silently,
starts the app, and checks: the server, /api/platform (windows, browser and
code execution off), a fresh first run and /welcome, the window (and a
screenshot), that 20 s later the app and server are still running
(parent_watch on Windows), that closing the window stops the server (the
old step killed the whole tree with taskkill, which proved nothing and
logged "could not be terminated"), and that uninstalling keeps
%LOCALAPPDATA%\ConductLoop\data, which sits inside the install folder.

Still continue-on-error, as decided for that step, but every failed check
is an error annotation; screenshot and log uploaded for 3 days.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T10:02:41.087220Z 2f89a63 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@EVMCOD
EVMCOD merged commit 9f42a3a into main Oct 30, 2026
5 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