mirror of
https://github.com/rtic-rs/rtic.git
synced 2025-12-16 21:05:35 +01:00
xtask: Add AllCi functionality: Run all xtask
This commit is contained in:
parent
0cf2efdd2c
commit
c27c251542
1 changed files with 114 additions and 5 deletions
|
|
@ -3,12 +3,12 @@ mod build;
|
|||
mod cargo_command;
|
||||
mod run;
|
||||
|
||||
use argument_parsing::ExtraArguments;
|
||||
use argument_parsing::{ExtraArguments, FormatOpt, PackageOpt};
|
||||
use clap::Parser;
|
||||
use core::fmt;
|
||||
use std::{path::Path, str};
|
||||
|
||||
use log::{error, info, log_enabled, trace, Level};
|
||||
use log::{error, log_enabled, trace, Level};
|
||||
|
||||
use crate::{
|
||||
argument_parsing::{BuildOrCheck, Cli, Commands, Platforms},
|
||||
|
|
@ -176,10 +176,119 @@ fn main() -> anyhow::Result<()> {
|
|||
Some("--quiet")
|
||||
};
|
||||
|
||||
let formatoptcheckonly = FormatOpt {
|
||||
// Only check, do not reformat
|
||||
check: true,
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
// Default set of all packages
|
||||
// CI always runs on all packages
|
||||
let package = PackageOpt::default();
|
||||
|
||||
let final_run_results = match &cli.command {
|
||||
Commands::AllCi => {}
|
||||
Commands::Format(args) => cargo_format(globals, &cargologlevel, &args.package, args.check),
|
||||
Commands::Clippy(args) => cargo_clippy(globals, &cargologlevel, args, backend),
|
||||
Commands::AllCi(args) => {
|
||||
// TODO: Reduce code duplication and repetition
|
||||
let mut results = cargo_format(globals, &cargologlevel, &formatoptcheckonly);
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
|
||||
results.append(&mut cargo_clippy(
|
||||
globals,
|
||||
&cargologlevel,
|
||||
&package,
|
||||
backend,
|
||||
));
|
||||
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
|
||||
results.append(&mut cargo(
|
||||
globals,
|
||||
BuildOrCheck::Check,
|
||||
&cargologlevel,
|
||||
&package,
|
||||
backend,
|
||||
));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
results.append(&mut cargo(
|
||||
globals,
|
||||
BuildOrCheck::Build,
|
||||
&cargologlevel,
|
||||
&package,
|
||||
backend,
|
||||
));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
|
||||
results.append(&mut cargo_example(
|
||||
globals,
|
||||
BuildOrCheck::Check,
|
||||
&cargologlevel,
|
||||
platform,
|
||||
backend,
|
||||
&examples_to_run,
|
||||
));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
results.append(&mut cargo_example(
|
||||
globals,
|
||||
BuildOrCheck::Build,
|
||||
&cargologlevel,
|
||||
platform,
|
||||
backend,
|
||||
&examples_to_run,
|
||||
));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
results.append(&mut qemu_run_examples(
|
||||
globals,
|
||||
&cargologlevel,
|
||||
platform,
|
||||
backend,
|
||||
&examples_to_run,
|
||||
false,
|
||||
));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
|
||||
results.append(&mut cargo_doc(globals, &cargologlevel, backend, &None));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
results.append(&mut cargo_test(globals, &package, backend));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
results.append(&mut cargo_book(globals, &None));
|
||||
if args.failearly {
|
||||
return handle_results(globals, results)
|
||||
.map_err(|_| anyhow::anyhow!("Commands failed"));
|
||||
}
|
||||
|
||||
results
|
||||
}
|
||||
Commands::Format(formatopts) => cargo_format(globals, &cargologlevel, formatopts),
|
||||
Commands::Clippy(packageopts) => {
|
||||
cargo_clippy(globals, &cargologlevel, packageopts, backend)
|
||||
}
|
||||
Commands::Check(args) => cargo(globals, BuildOrCheck::Check, &cargologlevel, args, backend),
|
||||
Commands::Build(args) => cargo(globals, BuildOrCheck::Build, &cargologlevel, args, backend),
|
||||
Commands::ExampleCheck => cargo_example(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue