diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2020-12-11 12:25:55 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2020-12-11 12:26:33 +0100 |
commit | c74652d9dd4a3b8b745d704611fd2177e324e12c (patch) | |
tree | 42599ff67e1220efd1b0b1a81353d111455b4824 /src/commands/build.rs | |
parent | d98d922dd30a4c8eb1249c48c92269d944afb306 (diff) |
Add checks whether any package is denied on the target image
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/commands/build.rs')
-rw-r--r-- | src/commands/build.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/commands/build.rs b/src/commands/build.rs index 9970cf7..ec04e8f 100644 --- a/src/commands/build.rs +++ b/src/commands/build.rs @@ -208,6 +208,21 @@ pub async fn build(repo_root: &Path, } } // linting + tree.all_packages() + .into_iter() + .map(|pkg| { + if let Some(denylist) = pkg.deny_on_images() { + if denylist.iter().any(|denied| image_name == *denied) { + Err(anyhow!("Package {} {} is not allowed to be built on {}", pkg.name(), pkg.version(), image_name)) + } else { + Ok(()) + } + } else { + Ok(()) + } + }) + .collect::<Result<Vec<()>>>()?; + trace!("Setting up database jobs for Package, GitHash, Image"); let db_package = async { Package::create_or_fetch(&database_connection, &package) }; let db_githash = async { GitHash::create_or_fetch(&database_connection, &hash_str) }; |