Skip to content

Add CI with cross-platform build matrix - #17

Merged
killerwolf merged 1 commit into
mainfrom
feat/ci-cross-platform
Aug 21, 2026
Merged

Add CI with cross-platform build matrix#17
killerwolf merged 1 commit into
mainfrom
feat/ci-cross-platform

Conversation

@killerwolf

Copy link
Copy Markdown
Owner

Closes #8, closes #11

  • Adds .github/workflows/ci.yml: installs, typechecks, tests, and builds the SEA binary on ubuntu-latest/macos-latest/windows-latest on every push to main and every PR, then smoke-tests the produced binary.
  • Fixes a real bug found while wiring this up: sea-config.json's output (dist/hello, no extension) isn't directly runnable on Windows. build-sea.js now renames it to dist/hello.exe on win32 after the build.

Verified locally on macOS (arm64):

Hello, CI!

Windows/Linux paths are only actually validated by this PR's own CI run — waiting on that before merging.

Adds a GitHub Actions workflow that installs, typechecks, tests, and
builds the SEA binary on ubuntu-latest/macos-latest/windows-latest on
every push to main and every PR, then smoke-tests the resulting
binary. This is the only way to catch a regression in build:sea
before someone downloads a broken binary.

While wiring this up: sea-config.json's output ("dist/hello", no
extension) isn't directly runnable on Windows. build-sea.js now
renames it to dist/hello.exe on win32 after the build -- the file is
already a valid PE binary at that point (it started as a copy of
node.exe), so a plain rename is enough.

Closes #8, closes #11.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@killerwolf
killerwolf merged commit a41e85e into main Aug 21, 2026
3 checks passed
@killerwolf
killerwolf deleted the feat/ci-cross-platform branch August 21, 2026 01:59
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.

Validate SEA build cross-platform (Windows/Linux) in CI Add a CI/CD pipeline (GitHub Actions)

1 participant