Skip to content

Run native macOS and Windows runtime smoke tests on hosted runners #59

Description

@ben-ranford

Outcome

Synthetic persona: Erin — cross-platform CLI integrator. Job: Trust that terminal startup, cancellation and degraded output work on the actual OS where consumers run.

This is a repository-grounded improvement hypothesis from a synthetic workflow exercise, not validated customer demand.

Evidence

Baseline: 64b0d0d96954 / v1.0.0-rc.2.

  • .github/workflows/ci.yml:159-186 runs portability fixtures on ubuntu-24.04 and cross-compiles four targets; it does not execute tests on macOS or Windows.
  • runtime/human/line_driver.go and capability platform fixtures expose the startup/input/detection contracts; native platform behavior is currently unverified by CI.

Bounded scope

Add a bounded native hosted-runner matrix for public root-module runtime/capability smoke tests. Extend the workflow guard narrowly for the exact approved hosted runner labels, while preserving no self-hosted/reusable/local-composite escalation. Limit native jobs to root-module smoke packages, set explicit timeouts, avoid duplicating the full benchmark/adapter suite, and document expected runner-minute cost.

Acceptance checks

  • Native Windows and macOS execute selected startup, cancellation, EOF, newline, no-colour/non-TTY and Unicode input tests.
  • Use explicit selected-test accounting so zero matched tests fails.
  • Existing Linux minimum/current Go, race, cross-compile and security checks remain enforced.
  • Any unsupported native behavior is documented with an explicit skip rationale and a tracked boundary, not represented as passing.

Compatibility and dependencies

Preserve the v1 root API and wire meanings. Additive tooling/docs or behavior-preserving validation; no root dependency or minimum-Go increase is implied.

Dependencies: #39

Milestone plan and shared release prerequisites: #38. Priority: P2. Required verification must preserve existing gates; completing this issue does not itself authorize a release.

Activity

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

Metadata

Metadata

Assignees

Labels

area:runtimeTerminal lifecycle, events, input, cancellation, and effectspriority:p2Normal milestone priorityrigor-upliftRepository hygiene, CI, release, or governance hardeningtype:verificationExecutable compatibility, testing or release verification

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions