sdk: Add --jobs parameter in build/test bpf (#24359)
This commit is contained in:
parent
7cf80a3f62
commit
d54ec406df
|
@ -29,6 +29,7 @@ struct Config<'a> {
|
||||||
offline: bool,
|
offline: bool,
|
||||||
verbose: bool,
|
verbose: bool,
|
||||||
workspace: bool,
|
workspace: bool,
|
||||||
|
jobs: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config<'_> {
|
impl Default for Config<'_> {
|
||||||
|
@ -51,6 +52,7 @@ impl Default for Config<'_> {
|
||||||
offline: false,
|
offline: false,
|
||||||
verbose: false,
|
verbose: false,
|
||||||
workspace: false,
|
workspace: false,
|
||||||
|
jobs: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -545,6 +547,10 @@ fn build_bpf_package(config: &Config, target_directory: &Path, package: &cargo_m
|
||||||
if config.verbose {
|
if config.verbose {
|
||||||
cargo_build_args.push("--verbose");
|
cargo_build_args.push("--verbose");
|
||||||
}
|
}
|
||||||
|
if let Some(jobs) = &config.jobs {
|
||||||
|
cargo_build_args.push("--jobs");
|
||||||
|
cargo_build_args.push(jobs);
|
||||||
|
}
|
||||||
if let Some(args) = &config.cargo_args {
|
if let Some(args) = &config.cargo_args {
|
||||||
for arg in args {
|
for arg in args {
|
||||||
cargo_build_args.push(arg);
|
cargo_build_args.push(arg);
|
||||||
|
@ -793,6 +799,15 @@ fn main() {
|
||||||
.alias("all")
|
.alias("all")
|
||||||
.help("Build all BPF packages in the workspace"),
|
.help("Build all BPF packages in the workspace"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("jobs")
|
||||||
|
.short('j')
|
||||||
|
.long("jobs")
|
||||||
|
.takes_value(true)
|
||||||
|
.value_name("N")
|
||||||
|
.validator(|val| val.parse::<usize>().map_err(|e| e.to_string()))
|
||||||
|
.help("Number of parallel jobs, defaults to # of CPUs"),
|
||||||
|
)
|
||||||
.get_matches_from(args);
|
.get_matches_from(args);
|
||||||
|
|
||||||
let bpf_sdk: PathBuf = matches.value_of_t_or_exit("bpf_sdk");
|
let bpf_sdk: PathBuf = matches.value_of_t_or_exit("bpf_sdk");
|
||||||
|
@ -827,6 +842,7 @@ fn main() {
|
||||||
offline: matches.is_present("offline"),
|
offline: matches.is_present("offline"),
|
||||||
verbose: matches.is_present("verbose"),
|
verbose: matches.is_present("verbose"),
|
||||||
workspace: matches.is_present("workspace"),
|
workspace: matches.is_present("workspace"),
|
||||||
|
jobs: matches.value_of_t("jobs").ok(),
|
||||||
};
|
};
|
||||||
let manifest_path: Option<PathBuf> = matches.value_of_t("manifest_path").ok();
|
let manifest_path: Option<PathBuf> = matches.value_of_t("manifest_path").ok();
|
||||||
build_bpf(config, manifest_path);
|
build_bpf(config, manifest_path);
|
||||||
|
|
|
@ -24,6 +24,7 @@ struct Config {
|
||||||
offline: bool,
|
offline: bool,
|
||||||
verbose: bool,
|
verbose: bool,
|
||||||
workspace: bool,
|
workspace: bool,
|
||||||
|
jobs: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
|
@ -42,6 +43,7 @@ impl Default for Config {
|
||||||
offline: false,
|
offline: false,
|
||||||
verbose: false,
|
verbose: false,
|
||||||
workspace: false,
|
workspace: false,
|
||||||
|
jobs: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,6 +118,10 @@ fn test_bpf_package(config: &Config, target_directory: &Path, package: &cargo_me
|
||||||
if config.verbose {
|
if config.verbose {
|
||||||
cargo_args.push("--verbose");
|
cargo_args.push("--verbose");
|
||||||
}
|
}
|
||||||
|
if let Some(jobs) = &config.jobs {
|
||||||
|
cargo_args.push("--jobs");
|
||||||
|
cargo_args.push(jobs);
|
||||||
|
}
|
||||||
|
|
||||||
let mut build_bpf_args = cargo_args.clone();
|
let mut build_bpf_args = cargo_args.clone();
|
||||||
if let Some(bpf_sdk) = config.bpf_sdk.as_ref() {
|
if let Some(bpf_sdk) = config.bpf_sdk.as_ref() {
|
||||||
|
@ -294,6 +300,15 @@ fn main() {
|
||||||
.alias("all")
|
.alias("all")
|
||||||
.help("Test all BPF packages in the workspace"),
|
.help("Test all BPF packages in the workspace"),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("jobs")
|
||||||
|
.short('j')
|
||||||
|
.long("jobs")
|
||||||
|
.takes_value(true)
|
||||||
|
.value_name("N")
|
||||||
|
.validator(|val| val.parse::<usize>().map_err(|e| e.to_string()))
|
||||||
|
.help("Number of parallel jobs, defaults to # of CPUs"),
|
||||||
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("extra_cargo_test_args")
|
Arg::new("extra_cargo_test_args")
|
||||||
.value_name("extra args for cargo test and the test binary")
|
.value_name("extra args for cargo test and the test binary")
|
||||||
|
@ -319,6 +334,7 @@ fn main() {
|
||||||
offline: matches.is_present("offline"),
|
offline: matches.is_present("offline"),
|
||||||
verbose: matches.is_present("verbose"),
|
verbose: matches.is_present("verbose"),
|
||||||
workspace: matches.is_present("workspace"),
|
workspace: matches.is_present("workspace"),
|
||||||
|
jobs: matches.value_of_t("jobs").ok(),
|
||||||
..Config::default()
|
..Config::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue