Skip to content

[Test] Compile and smoke-run examples/ in CI #545

Description

@pathosDev

Use case

examples/ (81 standalone snippets + the chat and voice apps) is never compiled and never executed by CI: no workflow or package script references it, it is excluded from the build tsconfig, and the only config that would type-check it (typecheck:dev) runs nowhere. The chat/voice smoke-test.ts files exist but are documented as manual and wired to nothing; exactly one example has any test. AGENTS.md declares examples part of the breaking-change adoption sweep — nothing enforces that, so examples rot silently and first-impression code is the least-verified code in the repo.

Proposed approach

  • Type-check: covered once [Test] Make typecheck:dev green and gate tests/ + examples/ type-checking in CI #540 gates typecheck:dev (prerequisite).
  • Execute: a CI job that runs a curated set of runnable examples headlessly (hello-world, persistence/bank-account with in-memory or SQLite, typed, patterns; skip Docker-dependent ones) with a timeout + expected-output smoke assertion — similar to tests/smoke/run-cases.mjs, which can likely be generalized.
  • Wire examples/chat/smoke-test.ts and examples/voice/smoke-test.ts into the same job.
  • Examples that legitimately need external services get an explicit skip-list entry with a reason, so nothing is silently uncovered.

Acceptance criteria

  • CI fails when a runnable example crashes or a smoke assertion fails
  • chat + voice smoke tests run in CI
  • Skip-list with reasons for non-runnable examples (Docker brokers, cloud credentials)
  • AGENTS.md verification gates updated

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestinfrastructureCI / build / live-integration testspriority: highTop priority — high impact, plan nextproduction-goalBlocks or defines the path to production readiness

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions