mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 14:55:43 +00:00
7b06be5ba2
* 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.
43 lines
2.6 KiB
Plaintext
43 lines
2.6 KiB
Plaintext
# Hot-path source files for the per-file ≥70% coverage gate.
|
|
#
|
|
# Background: cucadmuh asked for ≥80% per-function coverage on functions in
|
|
# typical user-triggered sequences. The original implementation tried to
|
|
# parse cargo-llvm-cov per-function region data, but the metric is not
|
|
# reliable for async state-machines (async fn body lives in synthetic
|
|
# closures, the "main" symbol is just 1-2 regions) or generic functions
|
|
# (every monomorphic instantiation is a separate symbol). See
|
|
# `scripts/check-hot-path-coverage.sh` header for details.
|
|
#
|
|
# Switched to file-level coverage: every file listed below must stay
|
|
# at ≥70% line coverage. The list is the subset of source files where
|
|
# the hot-path code dominates and 70% is a reasonable floor. Files like
|
|
# `psysonic-syncfs/src/sync/batch.rs` aren't listed because their hot-
|
|
# path functions ARE tested (parse_subsonic_songs / estimate_track_size
|
|
# / track_sync_info_from_subsonic_json all 100%) but the same file
|
|
# also holds a large amount of untested admin Tauri commands that drag
|
|
# the file aggregate down. Those are tracked individually via direct
|
|
# unit tests, not via this gate.
|
|
#
|
|
# Each line is a path relative to the workspace root (so `src-tauri/...`).
|
|
# `#` for comments. CI runs cargo-llvm-cov + this gate; PRs that drop
|
|
# any listed file below the threshold fail the rust-tests coverage job.
|
|
|
|
# ── psysonic-syncfs ──────────────────────────────────────────────────
|
|
src-tauri/crates/psysonic-syncfs/src/cache/fs_utils.rs
|
|
src-tauri/crates/psysonic-syncfs/src/cache/offline.rs
|
|
src-tauri/crates/psysonic-syncfs/src/file_transfer.rs
|
|
|
|
# ── psysonic-analysis ────────────────────────────────────────────────
|
|
src-tauri/crates/psysonic-analysis/src/analysis_cache/store.rs
|
|
src-tauri/crates/psysonic-analysis/src/analysis_cache/compute.rs
|
|
|
|
# ── psysonic-audio ───────────────────────────────────────────────────
|
|
src-tauri/crates/psysonic-audio/src/decode.rs
|
|
src-tauri/crates/psysonic-audio/src/stream/icy.rs
|
|
src-tauri/crates/psysonic-audio/src/progress_task.rs
|
|
src-tauri/crates/psysonic-audio/src/ipc.rs
|
|
|
|
# ── psysonic-integration ─────────────────────────────────────────────
|
|
src-tauri/crates/psysonic-integration/src/discord.rs
|
|
src-tauri/crates/psysonic-integration/src/navidrome/client.rs
|