Skip to content

[Feature] Split Windows CI unit signal by package #137

@Astro-Han

Description

@Astro-Han

Problem

The current unit-windows job runs bun turbo test:ci as one advisory Windows signal. After #125, the aggregate ci / check gate stays green, but Windows failures still appear as a noisy red JUnit check and the single full-suite job makes package-level timeout diagnosis hard.

Current evidence

Recent dev runs after #125 show ci completed successfully while unit-windows failed. The latest failure was in @opencode-ai/desktop-electron tests, while the #125 merge run failed in opencode tests. This means the Windows signal is useful, but too coarse.

Proposed change

Replace unit-windows with three advisory jobs: unit-windows-app runs bun turbo test:ci --filter=@opencode-ai/app, unit-windows-desktop runs bun turbo test:ci --filter=@opencode-ai/desktop-electron, and unit-windows-opencode runs bun turbo test:ci --filter=opencode. All three jobs should use windows-latest, timeout-minutes: 20, continue-on-error: true, upload package-specific JUnit artifacts, and stay outside the aggregate check.needs list.

Reporting behavior

Do not publish separate failing unit results (windows *) GitHub checks from these advisory jobs. Keep the job result and uploaded artifact in Actions so failures remain inspectable without making commit or PR checks noisy.

Acceptance criteria

  • The old unit-windows full-suite job is removed.
  • Three package-level Windows advisory jobs exist for app, desktop, and opencode.
  • Each Windows package job has a 20 minute timeout and continue-on-error: true.
  • No Windows package job is included in the required ci / check aggregate.
  • Windows package jobs upload their own JUnit artifacts.
  • Windows package jobs do not create extra failing JUnit report checks on commits or PRs.
  • packages/opencode/test/github/ci-workflow.test.ts covers the new workflow contract.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priorityciContinuous integration / GitHub ActionsenhancementNew feature or requestflaky-testNon-deterministic test failurewindowsWindows-specific

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions