Skip to content

fix(ci): stabilize shared suite failures exposed after checkout fix#12

Closed
KitsuneKode wants to merge 8 commits into
mainfrom
cursor/ci-shared-test-stabilization-ad11
Closed

fix(ci): stabilize shared suite failures exposed after checkout fix#12
KitsuneKode wants to merge 8 commits into
mainfrom
cursor/ci-shared-test-stabilization-ad11

Conversation

@KitsuneKode

@KitsuneKode KitsuneKode commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Summary

Stabilizes the shared CLI/provider suite that started failing once CI actually ran after the checkout fix (#8).

CI on this tip is green (Format / Lint / Typecheck / Test / builds / installer smoke).

Why CI was red (two layers)

  1. Infra (fix(ci): unbreak workflows + harden installer/release binaries #8): local setup-bun-monorepo composite ran before actions/checkout → every job died in ~3s with missing action.yml.
  2. Suite (this PR): once jobs ran, shared failures appeared across product PRs:
Failure Cause Fix
Format + Typecheck + Test openSetupWizardFromShell spy returned Promise<void> instead of SetupWizardResult (Format fails because turbo runs typecheck before fmt:check) Return "completed" from the spy
Format only anime-discovery-resolve-handoff.test.ts needed oxfmt after live-provider gate oxfmt one-liner
Videasy preferred-fallback flake Live/network-ish preferred source path Deterministic deprecated-preferred skip (folded from #11)
~16 TMDB / title-detail / recommendation fails mock.module("@/services/catalog/tmdb-proxy") in watch-genre-stats.test.ts leaked into later files Replace with spyOn + mock.restore()
avgEpisodesPerDay (and other stats) Hardcoded 2026-06-* dates fell outside rolling windows Relative Date.now() offsets
Live Miruro handoff HTTP 403 in default CI Gate on KUNAI_LIVE_PROVIDERS=1
install.ps1 dry-run Exit 1 in empty/env cases Earlier commit on this branch

Merge order

  1. fix(ci): unbreak workflows + harden installer/release binaries #8 (checkout) — green
  2. This PR (fix(ci): stabilize shared suite failures exposed after checkout fix #12) — green ← merge next
  3. Product PRs fix(shell): preserve browse/post-play state under root overlays #6 / fix(diagnostics): unify panel/export trust and session-scoped reads #7 / fix(playback): harden cache identity, refresh preserve, and fallback #10 / fix(ui): honest quality, stream source, and cached inventory hints #9 (rebased onto this tip)
  4. fix(reliability): deterministic Videasy fallback test + Esc ownership docs #11 — empty vs this tip; close after fix(ci): stabilize shared suite failures exposed after checkout fix #12 merges

Test plan

  • Local apps/cli suite green
  • CI Format / Lint / Typecheck / Test green on this branch
Open in Web Open in Cursor 

cursoragent and others added 7 commits July 9, 2026 20:23
…assets

GitHub resolves local composite actions from the workspace before any step
runs, so nesting checkout inside setup-bun-monorepo made every CI/release/
build-binaries job fail instantly since that action landed. Callers now
checkout first; the composite only sets up Bun/caches/install.

Also: native smoke matrix for host binaries, fail_on_unmatched_files +
asset-count assert on release upload, clearer empty-release installer
errors, and fix install.ps1 returning early after mpv so yt-dlp is offered.

Co-authored-by: Manash Pratim Bhuyan <bhuyanmanash2002@gmail.com>
v0.2.6.json has an empty sections array (changelog body has no ###
headings). The docs test required sections and failed once CI actually
ran again after the checkout fix.

Co-authored-by: Manash Pratim Bhuyan <bhuyanmanash2002@gmail.com>
These failures only surfaced once CI started executing the full suite again
(#8). Fix the durable diagnostics retention time bomb, make install.ps1
dry-run succeed without LOCALAPPDATA/network, stop mock.module leaking from
palette tests into history/overlay tests, and gate live Miruro network checks.
Typecheck failed because openSetupWizardFromShell was mocked as Promise<void>
instead of Promise<SetupWizardResult>, which also broke Format (turbo depends
on typecheck for fmt:check).
…rship

Make the deprecated preferred-source unit test mock network instead of live
fetch, and harden Videasy so deprecated preferred ids never bias cycle order
or probe Sanji/1movies. Document that resolveEscTransition stays unused at
runtime because root-overlay-shell + resolveOverlayBackStack already own Esc.
Replace mock.module in watch-genre-stats with a restored spy so later
tmdb-proxy/title-detail/recommendation tests see the real module, and use
relative timestamps in stats-service so windowed averages stay valid.
@KitsuneKode

Copy link
Copy Markdown
Owner Author

Closing as a stale duplicate stack base. Its work is included in #15; any still-relevant deterministic test fixes will be reapplied narrowly on current main. The remote branch is retained.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants