🛰️ export from upstream (a18006f)

This commit is contained in:
2026-09-22 11:07:55 +02:00
parent 010753e02d
commit 387214612b
+13 -3
View File
@@ -879,6 +879,11 @@ async fn run_docker_build(
let mut cmd = Command::new(docker);
cmd.args(["build", "-t", &format!("{image}:latest")]);
let uid = id_flag("-u").await.unwrap_or_else(|_| "1000".into());
let gid = id_flag("-g").await.unwrap_or_else(|_| "1000".into());
cmd.args(["--build-arg", &format!("SANDCAGE_UID={uid}")]);
cmd.args(["--build-arg", &format!("SANDCAGE_GID={gid}")]);
if no_cache {
cmd.arg("--no-cache");
}
@@ -1000,15 +1005,20 @@ pub async fn build_images(force: bool, service_filter: &[String]) -> Result<()>
let hashes_path = build_hashes_path()?;
let mut stored = read_stored_hashes(&hashes_path)?;
let uid = id_flag("-u").await.unwrap_or_else(|_| "1000".into());
let gid = id_flag("-g").await.unwrap_or_else(|_| "1000".into());
let uid_suffix = format!("\n# uid={uid} gid={gid}");
for (image, bundled_dockerfile) in images {
let short_name = image.strip_prefix("sandcage-").unwrap_or(image);
let override_path = overrides.get(short_name);
let current_hash = if let Some(path) = override_path {
sha256_hex(&read_dockerfile_at(path)?)
let dockerfile_content = if let Some(path) = override_path {
read_dockerfile_at(path)?
} else {
sha256_hex(bundled_dockerfile)
bundled_dockerfile.to_string()
};
let current_hash = sha256_hex(&format!("{dockerfile_content}{uid_suffix}"));
let needs_build = force || stored.get(image) != Some(&current_hash);