Repository navigation
ci: reduce fixture startup and shutdown waits - #29163
Conversation
cde1e68 to
aed87b7
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to
|
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Repository UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
dae0b0cb-13ea-4690-aada-e283a5d7bd8a
📒 Files selected for processing: 140
config/scripts/oxc-cli-invocation.test.mjssrc/main/acp/acp-structured-broken-stream.test.tssrc/main/codex/codex-app-server-teardown.integration.test.tssrc/main/native-chat/agent-session-journal/command-receipt-schema.spec.tssrc/main/native-chat/agent-session-journal/command-receipt-schema.test.tssrc/main/native-chat/agent-session-journal/command-receipt-table.spec.tssrc/main/native-chat/agent-session-journal/command-receipt-table.test.tssrc/main/native-chat/agent-session-journal/command-receipt-transaction.spec.tssrc/main/native-chat/agent-session-journal/command-receipt-transaction.test.tssrc/main/native-chat/agent-session-journal/journal-atomic-terminal-settlement.spec.tssrc/main/native-chat/agent-session-journal/journal-atomic-terminal-settlement.test.tssrc/main/native-chat/agent-session-journal/journal-crash-boundary.spec.tssrc/main/native-chat/agent-session-journal/journal-crash-boundary.test.tssrc/main/native-chat/agent-session-journal/journal-database-contracts.test.tssrc/main/native-chat/agent-session-journal/journal-database.spec.tssrc/main/native-chat/agent-session-journal/journal-database.test.tssrc/main/native-chat/agent-session-journal/journal-dispatch-reason-bound.spec.tssrc/main/native-chat/agent-session-journal/journal-dispatch-reason-bound.test.tssrc/main/native-chat/agent-session-journal/journal-epoch-replacement.spec.tssrc/main/native-chat/agent-session-journal/journal-epoch-replacement.test.tssrc/main/native-chat/agent-session-journal/journal-host-database.spec.tssrc/main/native-chat/agent-session-journal/journal-host-database.test.tssrc/main/native-chat/agent-session-journal/journal-item-provenance.spec.tssrc/main/native-chat/agent-session-journal/journal-item-provenance.test.tssrc/main/native-chat/agent-session-journal/journal-lifecycle-batch-appender.spec.tssrc/main/native-chat/agent-session-journal/journal-lifecycle-batch-appender.test.tssrc/main/native-chat/agent-session-journal/journal-pi-context-import.spec.tssrc/main/native-chat/agent-session-journal/journal-pi-context-import.test.tssrc/main/native-chat/agent-session-journal/journal-producer-inheritance.spec.tssrc/main/native-chat/agent-session-journal/journal-producer-inheritance.test.tssrc/main/native-chat/agent-session-journal/journal-queued-message-contracts.test.tssrc/main/native-chat/agent-session-journal/journal-queued-rejection-batch.spec.tssrc/main/native-chat/agent-session-journal/journal-queued-rejection-batch.test.tssrc/main/native-chat/agent-session-journal/journal-recovery-contracts.test.tssrc/main/native-chat/agent-session-journal/journal-restart-reconciliation.spec.tssrc/main/native-chat/agent-session-journal/journal-restart-reconciliation.test.tssrc/main/native-chat/agent-session-journal/journal-row-context-usage.spec.tssrc/main/native-chat/agent-session-journal/journal-row-context-usage.test.tssrc/main/native-chat/agent-session-journal/journal-row-schema-version.spec.tssrc/main/native-chat/agent-session-journal/journal-row-schema-version.test.tssrc/main/native-chat/agent-session-journal/journal-row-writer.spec.tssrc/main/native-chat/agent-session-journal/journal-row-writer.test.tssrc/main/native-chat/agent-session-journal/journal-settlement-contracts.test.tssrc/main/native-chat/agent-session-journal/journal-stop-and-resume-rows.spec.tssrc/main/native-chat/agent-session-journal/journal-stop-and-resume-rows.test.tssrc/main/native-chat/agent-session-journal/journal-store-schema.spec.tssrc/main/native-chat/agent-session-journal/journal-store-schema.test.tssrc/main/native-chat/agent-session-journal/journal-store.spec.tssrc/main/native-chat/agent-session-journal/journal-store.test.tssrc/main/native-chat/agent-session-journal/journal-subagent-item.spec.tssrc/main/native-chat/agent-session-journal/journal-subagent-item.test.tssrc/main/native-chat/agent-session-journal/journal-subagent-liveness.spec.tssrc/main/native-chat/agent-session-journal/journal-subagent-liveness.test.tssrc/main/native-chat/agent-session-journal/journal-submission-positions.spec.tssrc/main/native-chat/agent-session-journal/journal-submission-positions.test.tssrc/main/native-chat/agent-session-journal/journal-submission-queued-link.spec.tssrc/main/native-chat/agent-session-journal/journal-submission-queued-link.test.tssrc/main/native-chat/agent-session-journal/journal-terminal-settlement-validation.spec.tssrc/main/native-chat/agent-session-journal/journal-terminal-settlement-validation.test.tssrc/main/native-chat/agent-session-journal/journal-unknown-content.spec.tssrc/main/native-chat/agent-session-journal/journal-unknown-content.test.tssrc/main/native-chat/agent-session-journal/journal-unknown-row-kind.spec.tssrc/main/native-chat/agent-session-journal/journal-unknown-row-kind.test.tssrc/main/native-chat/agent-session-journal/journal-unsent-send-hold.spec.tssrc/main/native-chat/agent-session-journal/journal-unsent-send-hold.test.tssrc/main/native-chat/agent-session-journal/journal-write-queue.spec.tssrc/main/native-chat/agent-session-journal/journal-write-queue.test.tssrc/main/native-chat/agent-session-journal/queued-message-bookkeeping-failure.spec.tssrc/main/native-chat/agent-session-journal/queued-message-bookkeeping-failure.test.tssrc/main/native-chat/agent-session-journal/queued-message-delivered-echo.spec.tssrc/main/native-chat/agent-session-journal/queued-message-delivered-echo.test.tssrc/main/native-chat/agent-session-journal/queued-message-pause.spec.tssrc/main/native-chat/agent-session-journal/queued-message-pause.test.tssrc/main/native-chat/agent-session-journal/queued-message-store.spec.tssrc/main/native-chat/agent-session-journal/queued-message-store.test.tssrc/main/native-chat/agent-session-journal/queued-message-text-update.spec.tssrc/main/native-chat/agent-session-journal/queued-message-text-update.test.tssrc/main/persistence/loading-store/durable-settings-write.spec.tssrc/main/persistence/loading-store/durable-settings-write.test.tssrc/main/persistence/loading-store/profile-state-caller-cancellation.spec.tssrc/main/persistence/loading-store/profile-state-caller-cancellation.test.tssrc/main/persistence/loading-store/profile-state-durable-writes.test.tssrc/main/persistence/loading-store/profile-state-maintenance-contracts.test.tssrc/main/persistence/loading-store/profile-state-maintenance-final-failure.spec.tssrc/main/persistence/loading-store/profile-state-maintenance-final-failure.test.tssrc/main/persistence/loading-store/profile-state-maintenance-recovery.spec.tssrc/main/persistence/loading-store/profile-state-maintenance-recovery.test.tssrc/main/persistence/loading-store/profile-state-maintenance.spec.tssrc/main/persistence/loading-store/profile-state-maintenance.test.tssrc/main/persistence/loading-store/profile-state-pty-retirement-finalization.spec.tssrc/main/persistence/loading-store/profile-state-pty-retirement-finalization.test.tssrc/main/persistence/loading-store/profile-state-worker-coordination.spec.tssrc/main/persistence/loading-store/profile-state-worker-coordination.test.tssrc/main/persistence/loading-store/profile-state-worker-secret-retention.spec.tssrc/main/persistence/loading-store/profile-state-worker-secret-retention.test.tssrc/main/persistence/loading-store/profile-state-write-batching.spec.tssrc/main/persistence/loading-store/profile-state-write-batching.test.tssrc/main/persistence/loading-store/pty-binding-async-durability.spec.tssrc/main/persistence/loading-store/pty-binding-async-durability.test.tssrc/main/persistence/loading-store/pty-binding-created-surface-rollback.spec.tssrc/main/persistence/loading-store/pty-binding-created-surface-rollback.test.tssrc/main/persistence/loading-store/pty-binding-restart-retirement.spec.tssrc/main/persistence/loading-store/pty-binding-restart-retirement.test.tssrc/main/persistence/loading-store/pty-retirement-async-durability.spec.tssrc/main/persistence/loading-store/pty-retirement-async-durability.test.tssrc/main/persistence/loading-store/workspace-session-write-listeners.spec.tssrc/main/persistence/loading-store/workspace-session-write-listeners.test.tssrc/renderer/src/components/contextual-tours/ContextualTourControl.test.tssrc/renderer/src/components/contextual-tours/contextual-tour-overlay-measurement.test.tssrc/renderer/src/components/editor/editor-dropped-file-open.test.tssrc/renderer/src/components/editor/useMarkdownDocuments.test.tssrc/renderer/src/components/pet/PetOverlay.test.tssrc/renderer/src/components/pet/pet-overlay-position.test.tssrc/renderer/src/components/right-sidebar/use-checks-panel-terminal-worktree.tssrc/renderer/src/components/right-sidebar/use-source-control-ai.test.tssrc/renderer/src/components/right-sidebar/useFileExplorerKeys.test.tssrc/renderer/src/components/settings/KagiSessionLinkForm.test.tssrc/renderer/src/components/settings/PluginKeybindingConsentPreview.test.tssrc/renderer/src/components/settings/QuickCommandsPane.test.tssrc/renderer/src/components/settings/settings-setup-guide-progress.test.tssrc/renderer/src/components/sidebar/WorktreeParentPickerPopover.test.tssrc/renderer/src/components/sidebar/folder-workspace-linked-startup-plan.test.tssrc/renderer/src/components/sidebar/hovered-workspace-delete.test.tssrc/renderer/src/components/sidebar/use-worktree-activity-statuses.test.tssrc/renderer/src/components/tab-bar/tab-bar-item-model.git-status.test.tssrc/renderer/src/components/task-page-gitlab-task-filters.test.tssrc/renderer/src/components/task-page-repo-source-context.test.tssrc/renderer/src/components/task-page-task-source-host-availability.test.tssrc/renderer/src/components/terminal-cold-activation.tssrc/renderer/src/components/terminal-pane/parked-terminal-byte-watcher.tssrc/renderer/src/components/terminal-pane/remote-execution-host-pty.tssrc/renderer/src/components/terminal-pane/resolve-split-cwd.tssrc/renderer/src/components/terminal-pane/terminal-hidden-view-parking.tssrc/renderer/src/components/terminal-pane/terminal-hidden-worktree-retention.tssrc/renderer/src/components/terminal-pane/terminal-keyboard-search-dispatch.test.tssrc/renderer/src/components/terminal-pane/terminal-live-layout-reconciliation.tssrc/renderer/src/components/terminal-pane/terminal-parked-pty-watcher.tssrc/renderer/src/components/terminal-pane/use-manual-terminal-worktree-parking.test.tssrc/renderer/src/components/terminal-pane/use-terminal-pane-layout-persistence.tssrc/renderer/src/lib/automation-session-observer.ts
💤 Files with no reviewable changes: 38
- src/main/native-chat/agent-session-journal/journal-pi-context-import.test.ts
- src/main/native-chat/agent-session-journal/journal-producer-inheritance.test.ts
- src/main/native-chat/agent-session-journal/journal-atomic-terminal-settlement.test.ts
- src/main/native-chat/agent-session-journal/journal-unsent-send-hold.test.ts
- src/main/native-chat/agent-session-journal/journal-store.test.ts
- src/main/native-chat/agent-session-journal/journal-row-context-usage.test.ts
- src/main/native-chat/agent-session-journal/journal-item-provenance.test.ts
- src/main/native-chat/agent-session-journal/queued-message-pause.test.ts
- src/main/native-chat/agent-session-journal/journal-subagent-liveness.test.ts
- src/main/native-chat/agent-session-journal/journal-write-queue.test.ts
- src/main/native-chat/agent-session-journal/queued-message-delivered-echo.test.ts
- src/main/native-chat/agent-session-journal/command-receipt-schema.test.ts
- src/main/native-chat/agent-session-journal/journal-submission-queued-link.test.ts
- src/main/native-chat/agent-session-journal/journal-database.test.ts
- src/main/native-chat/agent-session-journal/queued-message-bookkeeping-failure.test.ts
- src/main/native-chat/agent-session-journal/journal-row-writer.test.ts
- src/main/native-chat/agent-session-journal/journal-queued-rejection-batch.test.ts
- src/main/native-chat/agent-session-journal/queued-message-store.test.ts
- src/main/native-chat/agent-session-journal/queued-message-text-update.test.ts
- src/main/native-chat/agent-session-journal/journal-unknown-row-kind.test.ts
- src/main/native-chat/agent-session-journal/journal-subagent-item.test.ts
- src/main/persistence/loading-store/profile-state-maintenance-final-failure.test.ts
- src/main/native-chat/agent-session-journal/command-receipt-table.test.ts
- src/main/persistence/loading-store/profile-state-caller-cancellation.test.ts
- src/main/native-chat/agent-session-journal/journal-host-database.test.ts
- src/main/native-chat/agent-session-journal/journal-row-schema-version.test.ts
- src/main/native-chat/agent-session-journal/journal-epoch-replacement.test.ts
- src/main/persistence/loading-store/durable-settings-write.test.ts
- src/main/native-chat/agent-session-journal/journal-unknown-content.test.ts
- src/main/native-chat/agent-session-journal/journal-store-schema.test.ts
- src/main/native-chat/agent-session-journal/journal-restart-reconciliation.test.ts
- src/main/native-chat/agent-session-journal/journal-stop-and-resume-rows.test.ts
- src/main/native-chat/agent-session-journal/journal-lifecycle-batch-appender.test.ts
- src/main/native-chat/agent-session-journal/journal-dispatch-reason-bound.test.ts
- src/main/native-chat/agent-session-journal/journal-crash-boundary.test.ts
- src/main/native-chat/agent-session-journal/journal-submission-positions.test.ts
- src/main/native-chat/agent-session-journal/journal-terminal-settlement-validation.test.ts
- src/main/native-chat/agent-session-journal/command-receipt-transaction.test.ts
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.
main moved journal-atomic-terminal-settlement.test.ts into a registered .spec.ts (#29163); this branch's edit (the observed-exit test settler) is carried there. Registrations take main's createAcpAdapter shape with this branch's producer argument.
main moved four journal suites into registered .spec.ts files (#29163); this branch's edits to them are carried into those files unchanged. main's thread-goal reader put journal-store.ts one line over its limit; holdReopenFromOpen becomes a one-line arrow.
ELI5
Small tests were repeatedly loading large fixtures and waiting through shutdown delays. This keeps their behavior checks while doing less setup and waiting.
What Changed
Why
These changes remove measured repeated work without reducing worker counts or skipping behavior checks. The logger-fixture split was excluded after mixed timing results. Reusing existing predicates, fixtures, and timeout overrides keeps the change smaller than introducing a new test runtime or cache.
Linked Issue
Maintainer-requested CI capacity work; no separate issue.
Visual Proof
N/A — test organization and equivalent import paths; no rendered UI or interaction change.
Testing
macOS, pinned Bun 1.4.3 with ordinary Bun/Node routing and four fixed workers: four fresh-cache runs in candidate/baseline/baseline/candidate order on the final cleanup source. All 1,088 cases passed every time; entry points fell from 116 to 73. Candidate runs: 24.71 and 23.45 seconds; baseline: 28.81 and 28.81 seconds. Scoped median: 28.81 to 24.08 seconds (-16.4%); worker median: 99.66 to 74.23 seconds (-25.5%). These are focused local observations, not a whole-CI speedup claim.
All four CI typecheck projects, changed-code quality, scoped formatting/lint pass on final commit 949c9f1. The full native-plugin check with the existing local mobile import-cycle allowance and all 146 reliability gates passed on its parent; the final two-file delta changes cleanup only. Independent source review checks moved bodies, literal values, registration counts, hook isolation, current references, and the two explicit cleanup corrections. All four benchmark runs were refreshed after those corrections, against base 507d0a9. Full exact-head hosted verification is required before merge. Superseded workflows were canceled to release their runners.
AI Disclosure
Review
Domain reviews cover assertion preservation, mock and lifecycle isolation, production initialization paths, child-process ownership, and current test routing. Runtime case catalogs and final source bytes are bound to the reviewed local evidence; hosted logs and artifacts will be reconciled before merge.
Agent skill upstream boundary
Notes
Equivalent predicate imports preserve native, SSH, and folder-workspace behavior. Database suites retain Node execution and all original cases. Process timings change only through existing test overrides or independent test scheduling.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)