use super::{CheckBucket, CiStatus};
#[must_use]
pub fn aggregate(buckets: &[CheckBucket]) -> CiStatus {
if buckets
.iter()
.any(|b| matches!(b, CheckBucket::Fail | CheckBucket::Cancel))
{
CiStatus::Fail
} else if buckets
.iter()
.any(|b| matches!(b, CheckBucket::ActionRequired))
{
CiStatus::ActionRequired
} else {
CiStatus::Pass
}
}