zipatch-rs 1.5.0

Parser for FFXIV ZiPatch patch files
Documentation
# Codecov configuration.
#
# Coverage is reported by `cargo tarpaulin` in CI. Tarpaulin's line-coverage
# accounting has some known idiosyncrasies — multi-line `return Err(...)`
# continuations, trait default-impl bodies dispatched through `dyn` trait
# objects, and `pub type ... = ...` declarations sometimes appear uncovered
# even when reachable code paths exercise them. The thresholds below are set
# wide enough that those artifacts don't whipsaw the CI status, but tight
# enough that a real regression still fails the gate.
#
# Hard-to-fault-inject error paths (disk full during flush, OS write quotas)
# are also accepted as legitimate exclusions — covering them requires custom
# `Write` implementations that error on demand, which adds more test
# scaffolding than it removes risk.

coverage:
  precision: 2
  round: down
  range: "85...100"

  status:
    # Whole-crate coverage. Allow 1% absolute regression — tarpaulin numbers
    # drift slightly between runs even with identical code, and small refactors
    # that introduce one new unreachable error arm shouldn't fail the build.
    project:
      default:
        target: auto
        threshold: 1%
        if_ci_failed: error
        only_pulls: false

    # Changed-lines coverage. Reported but not gating: tracing macros expand
    # to multiple lines that don't execute without an active subscriber, so
    # observability-heavy PRs (which this crate accumulates over time)
    # otherwise show artificially low patch coverage even though the apply
    # logic itself is exercised. Whole-project coverage above still catches
    # real regressions where tests disappeared.
    patch:
      default:
        target: 80%
        threshold: 5%
        if_ci_failed: error
        informational: true

comment:
  layout: "reach, diff, flags, files"
  behavior: default
  require_changes: false

# Don't report on test files themselves — they trivially have 100% coverage
# (every line of a test function runs when that test runs) and would skew the
# headline percentage.
ignore:
  - "tests/**"
  - "examples/**"