Skip to main content

ferro_cli/doctor/checks/
mod.rs

1//! Concrete doctor checks.
2
3pub mod copy_dirs_dockerignore_collision;
4pub mod database_url_sqlite_in_prod;
5pub mod db_connection;
6pub mod deploy_env_parity;
7pub mod dirty_git_tree;
8pub mod docker_template_drift;
9pub mod generated_artifacts;
10pub mod local_env_parity;
11pub mod migrations;
12pub mod toolchain;
13
14pub use copy_dirs_dockerignore_collision::CopyDirsDockerignoreCollisionCheck;
15pub use database_url_sqlite_in_prod::DatabaseUrlSqliteInProdCheck;
16pub use db_connection::DbConnectionCheck;
17pub use deploy_env_parity::DeployEnvParityCheck;
18pub use dirty_git_tree::DirtyGitTreeCheck;
19pub use docker_template_drift::DockerTemplateDriftCheck;
20pub use generated_artifacts::GeneratedArtifactsCheck;
21pub use local_env_parity::LocalEnvParityCheck;
22pub use migrations::MigrationsCheck;
23pub use toolchain::ToolchainCheck;
24
25use std::path::Path;
26use std::process::{Command, Output};
27
28/// Shared helper for checks that shell out to `cargo run -- <subcommand>`.
29pub(crate) fn run_cargo_subcommand(root: &Path, args: &[&str]) -> std::io::Result<Output> {
30    let mut cmd = Command::new("cargo");
31    cmd.arg("run").arg("--quiet").arg("--").args(args);
32    cmd.current_dir(root);
33    cmd.output()
34}