Skip to content

Windows support: release binaries + testing #3

@kiyeonjeon21

Description

@kiyeonjeon21

Context

snact currently builds and releases for macOS and Linux only (4 targets):

  • x86_64-apple-darwin
  • aarch64-apple-darwin
  • x86_64-unknown-linux-gnu
  • aarch64-unknown-linux-gnu

The codebase has partial Windows support (find_chrome() includes Windows Chrome paths), but it has never been tested on Windows.

What's needed

1. Release workflow

Add Windows targets to .github/workflows/release.yml:

  • x86_64-pc-windows-msvc
  • aarch64-pc-windows-msvc (optional)

2. install script

install.sh is bash-only. Windows users would need either:

  • A PowerShell install script (install.ps1)
  • Or cargo install instructions

3. Testing

  • Chrome discovery (find_chrome() in crates/snact-cdp/src/browser.rs)
  • Data directory paths (dirs::data_local_dir())
  • Process management (kill commands in crates/snact-cli/src/cmd/browser.rs — currently Unix-only)
  • Idle-timeout watchdog (shell script — needs PowerShell or native equivalent)
  • General snap/read/click/fill workflow on Windows Chrome

4. Known issues to address

  • browser.rs uses Unix kill -0 and kill for process management — needs Windows equivalent
  • Idle-timeout watchdog spawns a sh script — won't work on Windows
  • install.sh uses uname — Windows-incompatible

Notes

I don't use Windows, so I can't test this myself. Contributions welcome — even partial progress (e.g. just getting the build working) would be helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions