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