Skip to content

[Bug] 34 tests under packages/ui/src/** are silently excluded from CI #869

@Astro-Han

Description

@Astro-Han

What happened?

34 *.test.ts / *.test.tsx files under packages/ui/src/** are not executed by any CI job. Any contract drift in those tests goes undetected.

Which area seems affected?

CI, release, or developer tooling

How much does this affect you?

Breaks an important workflow

Steps to reproduce

  1. Push a PR with changes to any file under packages/ui/src/
  2. CI completes all jobs green
  3. The corresponding *.test.ts files are never run — no test output visible in any CI log

What did you expect to happen?

Tests under packages/ui/src/ should execute as part of CI and fail the build when they break.

Evidence

.github/workflows/ci.yml has three unit entry points:

  • unit-app: bun turbo test:ci --filter=@opencode-ai/app
  • unit-opencode: bun turbo test:ci --filter=opencode
  • unit-desktop: bun turbo test:ci --filter=@opencode-ai/desktop-electron

turbo.json does not define a @opencode-ai/ui#test:ci task, so turbo's dependency graph never propagates into ui tests.

The unit-ui-focused job only runs 5 token/theme/typography guard tests under packages/ui/test/. The 32 tests under packages/ui/src/components/ (markdown, scroll-view, picker, tool-contract, session-turn-*, etc.) plus 2 under packages/ui/src/util/, lib/, i18n/ are all silent.

Trigger

PR #861 (Slice 3 extracting TodoStatusMarker) added packages/ui/src/components/todo-status-marker.test.ts. The external reviewer noticed it falls into this black hole.

Diagnostics

See CI workflow and turbo.json for the current configuration.

Fix directions (to be evaluated)

A. Expand unit-ui-focused listing — explicitly list all src/*.test.ts files. Downside: every new test requires a ci.yml edit, and the labeler.yml auto-adds task label.

B. Add test:ci script in packages/ui/package.json and define @opencode-ai/ui#test:ci in turbo.json — aligns with how app/opencode/desktop do it, zero ci.yml changes, future tests auto-included. Recommended.

C. Run bun --cwd packages/ui test src/ in unit-ui-focused — downside: mixes with the fast-guard purpose and may slow CI.

Acceptance

  • Any PR editing packages/ui/src/** shows corresponding *.test.ts execution in CI logs
  • Intentionally breaking a test under packages/ui/src/ causes CI to fail

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium prioritybugSomething isn't workinguiDesign system and user interface

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions