-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Add policies for validating Rust project file structure and build configuration.
Proposed Policies
RustToolchainExists
Require rust-toolchain.toml for reproducible builds:
makePolicy(RustToolchainExists, {
requiredComponents: ["rustfmt", "clippy"],
channel: "stable", // or allow "nightly"
})RustfmtConfigExists
Require rustfmt.toml for consistent formatting:
makePolicy(RustfmtConfigExists, {
requiredSettings: {
edition: "2021",
},
})CrateStructureValid
Validate crate structure matches Cargo.toml:
- If
src/lib.rsexists, validate it's configured as a library - If
src/main.rsexists, validate binary configuration - Ensure
[[bin]]entries have corresponding files
CargoLockPolicy
Context-aware Cargo.lock validation:
makePolicy(CargoLockPolicy, {
binaries: "require", // Binaries should commit Cargo.lock
libraries: "warn", // Libraries typically shouldn't
})NoTargetArtifacts
Prevent accidental commits of build artifacts:
- Detect
.rlib,.rmeta,.d,.so,.dylibfiles outside/target/ - Could extend
NoLargeBinaryFilesor be standalone
Use Case
Ensuring Rust projects follow best practices for reproducible builds and proper crate organization.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels