aboutsummaryrefslogtreecommitdiff
path: root/mingling_ci/src/task/cmd_build.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-18 10:01:53 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-18 10:01:53 +0800
commit570b2bc1710c0ab8a68ad69a6121144e4f5e3aca (patch)
tree76995f8437ea0175724a1669a8f821736a20de60 /mingling_ci/src/task/cmd_build.rs
parenta7adc172b3cc58e0555b1cddb45d6301c733be81 (diff)
feat(ci-new): add test-all task with per-crate config support
Add a new `test-all` command that runs tests across all crates with optional per-crate command overrides via `mingling-ci.toml` files.
Diffstat (limited to 'mingling_ci/src/task/cmd_build.rs')
-rw-r--r--mingling_ci/src/task/cmd_build.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/mingling_ci/src/task/cmd_build.rs b/mingling_ci/src/task/cmd_build.rs
index 44be592..a74c323 100644
--- a/mingling_ci/src/task/cmd_build.rs
+++ b/mingling_ci/src/task/cmd_build.rs
@@ -13,13 +13,19 @@ use crate::task::run::run_parallel_checks;
#[command(node = "build-all")]
pub async fn build_all(manifests: &Manifests) -> Next {
- let fail_count = run_parallel_checks("Build-All", "Building", build_args, manifests).await;
+ let tasks = manifests
+ .package_dirs
+ .iter()
+ .map(|(name, path)| (name.clone(), build_args(path)))
+ .collect();
+ let fail_count = run_parallel_checks("Build-All", "Building", tasks).await;
ResultBuildAll { fail_count }.to_chain()
}
/// `cargo build --manifest-path <path>`
fn build_args(path: &Path) -> Vec<OsString> {
vec![
+ "cargo".into(),
"build".into(),
"--manifest-path".into(),
path.as_os_str().to_os_string(),