Skip to content

ci: extend fmt + clippy to 3-OS matrix #156

@mxaddict

Description

@mxaddict

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

  • Extend the lint job (fmt + clippy) to run on a os: [ubuntu-latest, macos-latest, windows-latest] matrix.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions