summaryrefslogtreecommitdiffstats
path: root/src/commands/build.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-12-11 12:25:55 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-12-11 12:26:33 +0100
commitc74652d9dd4a3b8b745d704611fd2177e324e12c (patch)
tree42599ff67e1220efd1b0b1a81353d111455b4824 /src/commands/build.rs
parentd98d922dd30a4c8eb1249c48c92269d944afb306 (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.rs15
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) };