Skip to content

Wire most workspace TS test suites into CI #250

@gordonwoodhull

Description

@gordonwoodhull

Context

CI currently runs the TypeScript tests for hub-client (via ts-test-suite.ymlnpm run test:ci). The other packages in the npm workspace are built in CI but their own test suites aren't run yet. This looks like a leftover from when TS testing first moved into its own workflow (bf7e8f42, "attempt to move ts testing into own GHA workflow") — hub-client got wired up and the rest hasn't been added since.

Most of these suites are healthy today, so this is mostly a matter of connecting them up.

Suites not currently run in CI (checked locally)

Green as-is:

  • preview-renderer (208), preview-runtime (65), quarto-automerge-schema (52), q2-preview-spa (8), quarto-sync-client, trace-viewer (10), wasm-js-bridge (10), q2-demos/kanban (35)

Needs a small touch before gating in:

  • quarto-hub-mcp — passes except for a couple of deps not installed in my local checkout; likely green under a clean CI npm ci
  • sync-test-harness — one test sensitive to the same sync/peer-connection flakiness we see in e2e
  • annotated-qmd — 2 of 156 fail; tracked separately (bd-1d6io)

A couple of related notes

  • *.integration.test.ts files are excluded from several packages' default vitest run, so they don't run anywhere yet (e.g. most of q2-preview-spa's files).
  • Rust doctests aren't run either — nextest doesn't execute them and there's no cargo test --doc step. Worth a separate decision.

Suggested direction

Run the workspace suites in CI (e.g. npm test --workspaces --if-present), starting with the green ones so CI stays green, and fold in the others as they're ready. The integration-test and doctest items can be handled separately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTest suite, coverage, and test infrastructure

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions