Skip to content
BETAGuardrails are in beta. The library, the configuration format and the CLI command can still change.

Guardrails

rust

4 guardrails, all at version v1.

GuardrailDefault severityWhat it checks
rust/edition-floorwarningThe package declares a Rust edition rather than falling back to the implied 2015 one, and that edition is no older than the configured floor.
rust/lockfile-committedwarningThe build commits Cargo.lock, so a rebuild of the same commit resolves the same crate versions.
rust/no-git-dependencieswarningNo manifest declares a dependency with a git source, so every crate in the build comes from a registry that versions it.
rust/version-declaredwarningThe build names the Rust toolchain it compiles with, that toolchain is one exact release rather than a moving channel, and it is no older than the configured floor.

Shared inputs

Every rust guardrail declares these inputs, and each one may add its own.

InputDescriptionDefault
projectDirDirectory holding the project, relative to the directory the CLI runs in..

Shared collectors

Every rust guardrail is handed the facts these collectors gather, and each one may ask for more of its own.

CollectorGathers
rustThe Cargo build in the project directory: the crate it declares, the Rust version and edition it asks for, every workspace member, the dependencies each manifest names with where each comes from and whether it is pinned, and the lock file beside them.

Every guardrail in this category is configured the same way, in the guardrails.checks array of buildnote.json. See Configuring guardrails for every option, and Guardrails to search the whole library.

Buildnote Limited
Registered in England and Wales, Reg: 16140412