Skip to content

ci: add standard fleet CI (fmt/clippy/test/MSRV/coverage) - #2

Merged
h4x0r merged 2 commits into
mainfrom
ci/add-standard-ci
Jul 27, 2026
Merged

ci: add standard fleet CI (fmt/clippy/test/MSRV/coverage)#2
h4x0r merged 2 commits into
mainfrom
ci/add-standard-ci

Conversation

@h4x0r

@h4x0r h4x0r commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Adds the standard fleet `ci.yml` — this repo previously had only cargo-vet + docs + release-plz, so its code was never built/tested/linted in CI.

Jobs

  • fmt — `cargo fmt --all --check`
  • clippy — `cargo clippy --workspace --all-targets --all-features -- -D warnings` (+ rust-cache)
  • test — matrix ubuntu/macos/windows, `cargo test --workspace --all-features` (+ rust-cache)
  • check-msrv — `cargo build --workspace --all-features --locked` on 1.81 (declared `rust-version`) (+ rust-cache)
  • coverage — `cargo llvm-cov --workspace --all-features --summary-only`, advisory (`continue-on-error`). Current line coverage 99.51%; TODO to raise to the fleet 100% gate once the last few lines are covered.
  • deny / advisories — `cargo-deny` (repo has `deny.toml`, no prior deny job). `vet.yml` left untouched.

All actions SHA-pinned (version ref for the MSRV toolchain); `Swatinem/rust-cache` after each toolchain step in compiling jobs.

Local verification (macOS, aarch64)

  • fmt: PASS (no changes needed)
  • clippy `-D warnings`: PASS
  • test `--workspace --all-features`: PASS (28 tests)
  • `cargo +1.81 build --all-features --locked`: PASS

🤖 Generated with Claude Code

h4x0r and others added 2 commits July 27, 2026 07:56
Adds .github/workflows/ci.yml with fmt, clippy (-D warnings), a
ubuntu/macos/windows test matrix, an MSRV build (1.81), an advisory
coverage job, and cargo-deny (deny.toml present, no prior deny job).
rust-cache after each toolchain step in compiling jobs; all actions
SHA-pinned (version ref for the MSRV toolchain). vet.yml untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add real tests covering the two remaining uncovered production lines:
- reader::utf16_z out-of-range offset (defensive empty-string contract);
  the line was reachable via direct call, so drop the cov:unreachable marker
  and test it instead.
- parse_beef0004 with a long-name offset that decodes empty. The remaining
  gap was an LLVM drop-cleanup landing pad on the conditional String drop;
  consume `long` unconditionally via then_some (behavior-identical, idiomatic)
  so the spurious region disappears at the root.

Flip the coverage CI job from advisory (continue-on-error) to the fleet hard
gate: fail on any uncovered production line (DA:n,0), honoring cov:unreachable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@h4x0r
h4x0r merged commit 8117543 into main Jul 27, 2026
12 checks passed
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.

1 participant