Skip to content

ci: add cross-platform test workflow (ubuntu + windows × Node 22 & 24)#12

Merged
heskew merged 2 commits into
mainfrom
ci/add-test-workflows
Jun 12, 2026
Merged

ci: add cross-platform test workflow (ubuntu + windows × Node 22 & 24)#12
heskew merged 2 commits into
mainfrom
ci/add-test-workflows

Conversation

@heskew

@heskew heskew commented Jun 5, 2026

Copy link
Copy Markdown
Member

The repo's first CI: npm ci && npm test on ubuntu + windows × Node 22 & 24 (actions pinned to SHAs).

Stacked on #9 because the test suite lives there — I'll retarget to main once #9 merges.

  • Made the killHarper tests OS-aware (Windows has no real POSIX signals and uses taskkill). This is the first real validation of fix: idle-based startup readiness and port-safe teardown recycle #9's Windows kill path — green on both Node versions.
  • Fixed an out-of-sync package-lock.json that CI surfaced (npm ci failed on missing optional native deps). Regenerated with npm 11 so both npm 10 and 11 accept it — additive only, no dependency changes.

Not gated yet: npm run check / npm run build, which fail on pre-existing type errors (run.ts, targz.ts, @types/node) unrelated to this PR — a good follow-up.


🤖 Generated with Claude Code

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the lifecycle tests in test/harperLifecycle.test.ts to support Windows environments by guarding POSIX-specific signal and process-group assertions with an isPosix check, and skipping tests that rely on POSIX-only features. A review comment suggests reducing the graceMs timeout on Windows to 100ms to prevent an unnecessary 2-second delay during test execution.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread test/harperLifecycle.test.ts Outdated
heskew added a commit that referenced this pull request Jun 5, 2026
Per Gemini review on #12: on Windows killHarper's SIGTERM-equivalent (taskkill
without /F) doesn't stop a background node process, so the "terminates and waits
for exit" test would always wait the full 2000ms grace before force-killing.
Use graceMs 100 on Windows; POSIX keeps 2000ms (and still asserts a clean
sub-grace SIGTERM exit).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…per tests

- .github/workflows/ci.yml: `npm ci && npm test` on ubuntu+windows x Node 22 & 24
  (fail-fast off, actions pinned to SHAs).
- Regenerate package-lock.json with npm 11 so `npm ci` is in sync on both npm 10
  and 11 (CI surfaced missing optional native deps; additive, no dep changes).
- Guard the killHarper signal assertions to POSIX (Windows has no real POSIX
  signals and uses taskkill); short SIGKILL grace on Windows.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@heskew heskew force-pushed the ci/add-test-workflows branch from c45eaf9 to a983753 Compare June 9, 2026 21:33
@heskew heskew changed the base branch from fix/harness-startup-readiness-and-teardown-recycle to main June 9, 2026 21:33
@heskew heskew marked this pull request as ready for review June 9, 2026 21:33
Comment thread .github/workflows/ci.yml Outdated
@heskew heskew merged commit a17ae75 into main Jun 12, 2026
6 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.

2 participants