Harden first-release validation and dependency hygiene
Some checks failed
ci / rust (push) Has been cancelled
ci / docker (push) Has been cancelled
ci / audit (push) Has been cancelled

This commit is contained in:
2026-09-10 09:53:45 +08:00
parent 277cbca878
commit 591bed90a8
61 changed files with 1641 additions and 622 deletions

View File

@@ -1,10 +1,12 @@
# Development and testing
Use Rust 1.92 or newer on Linux and the [native dependencies](getting-started.md).
Tests additionally need Python 3, Python `cryptography`, and OpenSSL's CLI.
Tests additionally need Python 3, Python `cryptography`, OpenSSL's CLI, and
`ripgrep` (`rg`). Install them with `sudo apt-get install python3-cryptography openssl ripgrep`.
```bash
cargo fmt --all --check
python3 tools/check_format.py
python3 -m unittest discover -s tools -p 'test_*.py'
cargo check --locked --no-default-features
cargo test --locked
cargo clippy --locked --all-targets -- -D warnings
@@ -31,3 +33,10 @@ Generated keys and outputs are temporary and unsuitable as production inputs.
Internal Rust modules are not a stable library API. The supported interface is
the CLI and documented output files. Add behavior tests and update documentation
when changing these interfaces.
The format checker also checks files included through `include!`, which are not
all traversed by `cargo fmt`. To format them, run `rustfmt --edition 2024` on
the reported files, then rerun the checker. Preserve upstream license texts.
For dependency and release checks see [Releasing](releasing.md) and
[Dependency maintenance](dependencies.md).