Skip to content

fix(test): make HttpAPI CI composite exit on macOS #472

Description

@LeXwDeX

Why

The required local test:httpapi:ci command can finish its coverage and auth summaries but leave the Bun process alive before the effect leg starts. During the graphagent-v1.0.37-dev.1 regression this reproduced twice on macOS, so the documented composite gate could not produce an exit code even though each mode passed independently.

What to build

Make the three-mode HttpAPI CI command release every server, timer, listener, and process handle between modes so the composite command terminates reliably without weakening coverage, auth, effect, missing-scenario, or skipped-scenario checks.

Reproduction evidence

  • Run bun run test:httpapi:ci from packages/opencode on macOS.
  • Coverage reports 230 pass / 0 fail; auth reports 230 pass / 0 fail; the process remains alive and the effect leg does not start.
  • The same behavior occurred in two bounded runs.
  • Running coverage, auth, and effect separately exits 0 for all three modes with 230 pass / 0 fail each.
  • The release tree was graphagent-v1.0.37-dev.1; the affected runner was not changed by that release.

Acceptance criteria

  • bun run test:httpapi:ci completes and exits 0 on macOS in at least two consecutive clean runs.
  • Coverage, auth, and effect modes all execute in the composite command with no missing or skipped scenarios.
  • No server process, listener, timer, or port remains alive after any mode completes.
  • Linux CI behavior remains green and the existing fail-on-missing/fail-on-skip guarantees remain intact.
  • A regression check fails when a mode leaves the lifecycle handle responsible for this hang open.

Blocked by

None - can start immediately.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions