This repo runs cargo fmt --check + cargo clippy -- -D warnings only on ubuntu-latest. kryptic-sh/krypt extends linting to a 3-OS matrix (ubuntu-latest, macos-latest, windows-latest); adopting that pattern across the org catches platform-gated clippy lints earlier.
Change
Why
- Catches clippy lints inside
#[cfg(target_os = "windows")] / #[cfg(target_os = "macos")] blocks that an ubuntu-only run silently skips.
- Matches
kryptic-sh/krypt .github/workflows/ci.yml lint matrix.
- Aligns org-wide CI shape so PRs feel consistent across repos.
Tradeoff
~6–9 min extra runner time per PR for fmt + clippy that usually finds nothing new. Justified for repos with non-trivial #[cfg(...)] platform-specific code (e.g. anything touching filesystem, sockets, processes, terminals).
Reference
kryptic-sh/krypt/.github/workflows/ci.yml — lint job matrix.
Umbrella note
This repo vendors sub-crates via git submodules (see .gitmodules). The same CI change should also be applied to each sub-crate repo individually — running the check in the umbrella scans them too (defense in depth), but the authoritative signal lives on each sub-crate's own CI so failures land in the right repo.
This repo runs
cargo fmt --check+cargo clippy -- -D warningsonly onubuntu-latest.kryptic-sh/kryptextends linting to a 3-OS matrix (ubuntu-latest,macos-latest,windows-latest); adopting that pattern across the org catches platform-gated clippy lints earlier.Change
lintjob (fmt + clippy) to run on aos: [ubuntu-latest, macos-latest, windows-latest]matrix.Why
#[cfg(target_os = "windows")]/#[cfg(target_os = "macos")]blocks that an ubuntu-only run silently skips.kryptic-sh/krypt.github/workflows/ci.ymllint matrix.Tradeoff
~6–9 min extra runner time per PR for fmt + clippy that usually finds nothing new. Justified for repos with non-trivial
#[cfg(...)]platform-specific code (e.g. anything touching filesystem, sockets, processes, terminals).Reference
kryptic-sh/krypt/.github/workflows/ci.yml— lint job matrix.Umbrella note
This repo vendors sub-crates via git submodules (see
.gitmodules). The same CI change should also be applied to each sub-crate repo individually — running the check in the umbrella scans them too (defense in depth), but the authoritative signal lives on each sub-crate's own CI so failures land in the right repo.