Files
psysonic/.github/frontend-hot-path-files.txt
cucadmuh 7b06be5ba2 ci: make hot-path coverage gates required PR checks (#921)
* ci: make hot-path coverage gates required PR checks

Remove continue-on-error from frontend and Rust coverage jobs now that
the hot-path lists have stabilized; update docs and script headers.

* docs: note hard coverage gates in changelog and credits (PR #921)

* chore: drop credits entry for CI-only PR #921

Contributor credits are for user-visible work, not infra toggles.
2026-05-30 01:04:35 +03:00

45 lines
2.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hot-path source files for the per-file ≥70 % coverage gate (frontend).
#
# Mirrors `.github/hot-path-files.txt` for the Rust crates. Each entry is a
# workspace-relative path; the gate script (`scripts/check-frontend-hot-path-
# coverage.sh`) reads `coverage/coverage-summary.json` produced by
# `vitest run --coverage` and fails the frontend-tests coverage job when a
# listed file drops below the floor.
#
# Curation rule (mirrors the backend list): a file belongs here when its
# hot-path code dominates the file and ≥70 % is a reasonable floor. Files
# that are partially covered today but contain large untested surface area
# (e.g. `playerStore.ts`, the unfinished half of `previewStore.ts`) live
# OUTSIDE the gate until their tests grow. Add them as Phase 14 coverage
# work lands.
#
# Deferred from the gate, with current coverage shown for reference:
# - src/store/playerStore.ts (40 % — F1 closed under the 50 % floor; further coverage TBD)
# - src/store/authStore.ts (79 % — F2 cleared 60 % floor; staying out one or two PRs to verify stability)
# - src/api/subsonic.ts (13 % — F3 covered the URL-builder + parser surface; async API endpoints need axios mocking, deferred)
# ── utils (already at or above threshold) ────────────────────────────
src/utils/cover/coverArtRegisteredSizes.ts
src/utils/server/serverDisplayName.ts
src/utils/server/serverMagicString.ts
src/utils/share/shareLink.ts
src/utils/ui/dynamicColors.ts
src/utils/playback/resolvePlaybackUrl.ts
src/utils/share/copyEntityShareLink.ts
# ── M0: pure helpers extracted from playerStore.ts (2026-05-12) ──────
src/utils/playback/shuffleArray.ts
src/utils/audio/resolveReplayGainDb.ts
src/utils/playback/songToTrack.ts
src/utils/playback/buildInfiniteQueueCandidates.ts
# ── Phase B.1: pre-React bootstrap + window-kind detector (2026-05-12) ──
src/app/windowKind.ts
src/app/bootstrap.ts
# ── Phase B.2: mini-player webview tree (2026-05-12) ─────────────────
src/app/MiniPlayerApp.tsx
# ── stores (added as their tests grew past the floor) ────────────────
src/store/previewStore.ts