Skip to content

⚡ Speed up client test CI#246

Merged
baealex merged 2 commits into
mainfrom
chore/speed-up-client-tests
Jul 11, 2026
Merged

⚡ Speed up client test CI#246
baealex merged 2 commits into
mainfrom
chore/speed-up-client-tests

Conversation

@baealex

@baealex baealex commented Jul 3, 2026

Copy link
Copy Markdown
Owner

🎯 Goal

Speed up PR test feedback by removing unnecessary client test serialization and reducing avoidable frontend test setup cost.

🛠️ Core Changes

  • Remove the client test:ci --maxWorkers 1 restriction so independent Vitest files can run in parallel.
  • Move pure client unit specs to the Node test environment where DOM APIs are not required.
  • Guard shared client test setup so it can run under both jsdom and Node environments.
  • Document the release: no-impact label for CI, demo-only, development-environment, and other non-release-affecting changes.
  • Replace the real debounce wait in SidebarSearch with fake timers.
  • Simplify Note.external-change value changes where the protected contract is save/conflict behavior, not per-key typing behavior.

🧠 Key Decisions

  • Kept user-event based interaction tests where keyboard/click behavior itself is the contract.
  • Kept StrictMode coverage for the note external-change page test.
  • Left larger page-test restructuring for a separate change because the current PR already reduces CI time with low-risk test-only changes.
  • Classified this PR as release: no-impact because it changes CI/test operations and process docs without changing released runtime behavior.

🧪 Verification Guide

  • pnpm test:ci should pass.
  • pnpm --filter @ocean-brain/client lint should pass.
  • pnpm check:encoding should pass.
  • Local timing improved from about 97.36s to about 21.82s for pnpm test:ci on the same machine.

✅ Checklist

  • Release impact label applied: release: no-impact
  • Local validation passed: pnpm test:ci
  • Local validation passed: pnpm --filter @ocean-brain/client lint
  • Local validation passed: pnpm check:encoding
  • PR title follows <emoji> <subject> with an English verb
  • Release impact: release: no-impact

@baealex baealex added release: patch release: no-impact No released artifact or user-visible release impact and removed release: patch labels Jul 3, 2026
@baealex baealex merged commit 5102dc3 into main Jul 11, 2026
6 checks passed
@baealex baealex deleted the chore/speed-up-client-tests branch July 11, 2026 04:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release: no-impact No released artifact or user-visible release impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant