artifactize_core/
project.rs1pub mod selection;
4
5mod status;
6pub use status::{
7 ArtifactCondition, ArtifactState, Counts, EvalCondition, EvalState, StatusView, VerifyAction,
8 status,
9};
10
11pub(crate) mod verify;
12pub use verify::{VerifyOptions, verify};
13
14fn fingerprint_parallelism(options: &VerifyOptions) -> Result<crate::cache::Parallelism, String> {
16 let jobs = options
17 .fingerprint_jobs
18 .unwrap_or_else(crate::cache::Parallelism::available);
19 if jobs == 0 {
20 return Err("fingerprint jobs must be at least 1.".into());
21 }
22 if jobs > tokio::sync::Semaphore::MAX_PERMITS {
24 return Err(format!(
25 "fingerprint jobs must be at most {}.",
26 tokio::sync::Semaphore::MAX_PERMITS
27 ));
28 }
29 Ok(crate::cache::Parallelism::new(jobs))
30}