Skip to content

feat(release): publish Windows binaries and npm packages (0.3.1) - #24

Merged
jlongster merged 2 commits into
masterfrom
windows-npm
Oct 9, 2026
Merged

jlongster merged 2 commits into
masterfrom
windows-npm

Conversation

@jlongster

Copy link
Copy Markdown
Collaborator

Adds Windows to releases so OpenCode can run the persistent PTY daemon on Windows.

  • Release builds: native windows-2025 (x64) and windows-11-arm (ARM64) jobs, reusing the Windows CI setup (x64-hosted Zig plus its patch on ARM64). Binaries statically link the C runtime, so no Visual C++ redistributable is needed. Ghostty is pinned to its baseline CPU through a new OPENCODE_ZIG_CPU build option, because the Unix zig wrapper is a shell script that Windows can't run.
  • Smoke test: each Windows build checks --version, then starts a real daemon over a named pipe and confirms it registers, stops when unclaimed, and removes its runtime directory.
  • npm: new @opencode-ai/pty-win32-x64 and @opencode-ai/pty-win32-arm64 packages containing bin/opencode-pty.exe. binaryPath now resolves on win32.
  • Workflow: the release workflow also runs on pull requests that touch the release pipeline, so this PR exercises the Windows release builds. Publishing stays tag-only.
  • Bumps the version to 0.3.1.

Before tagging: the two new npm package names must be allowed to publish from this workflow (npm trusted publishing), the same way the existing platform packages are.

Build x86_64 and aarch64 Windows (MSVC) release binaries on native runners,
with a statically linked C runtime and Ghostty pinned to its baseline CPU via
a new OPENCODE_ZIG_CPU build option (the Unix Zig wrapper is a shell script).
Each build smoke-tests a real daemon over a named pipe. The npm dispatcher
gains @opencode-ai/pty-win32-x64 and -win32-arm64, resolving opencode-pty.exe.
The release workflow also runs on pull requests that change the release
pipeline; publishing remains tag-only.
@jlongster
jlongster merged commit 443945a into master Oct 9, 2026
15 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