Skip to content

Commit 7d75864

Browse files
authored
Fix zig.image precedence (#1494)
Currently, `image` always takes precedence over `zig.image`. This change makes it so `image` doesn't get used when zig is enabled, even if `zig.image` is unset (and vice versa). This is a breaking change.
2 parents 78357ea + ea395b0 commit 7d75864

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

.changes/1494.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"description": "Fix `zig.image` precedence",
3+
"type": "fixed",
4+
"breaking": true
5+
}

src/docker/shared.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1246,10 +1246,12 @@ fn get_user_image(
12461246
target: &Target,
12471247
uses_zig: bool,
12481248
) -> Result<Option<PossibleImage>, GetImageError> {
1249-
let mut image = config.image(target).map_err(GetImageError::Other)?;
1250-
if image.is_none() && uses_zig {
1251-
image = config.zig_image(target).map_err(GetImageError::Other)?;
1249+
let mut image = if uses_zig {
1250+
config.zig_image(target)
1251+
} else {
1252+
config.image(target)
12521253
}
1254+
.map_err(GetImageError::Other)?;
12531255

12541256
if let Some(image) = &mut image {
12551257
let target_name = get_target_name(target, uses_zig);
@@ -1632,18 +1634,16 @@ mod tests {
16321634
test(map.clone(), &default_ver, &default_ver)?;
16331635

16341636
map.insert("CROSS_TARGET_X86_64_UNKNOWN_LINUX_GNU_IMAGE", "-centos");
1635-
let centos_tag = format!("{default_ver}-centos");
1636-
test(map.clone(), &centos_tag, &centos_tag)?;
1637+
test(map.clone(), &format!("{default_ver}-centos"), &default_ver)?;
16371638

16381639
map.insert("CROSS_TARGET_X86_64_UNKNOWN_LINUX_GNU_IMAGE", ":edge");
1639-
test(map.clone(), ":edge", ":edge")?;
1640+
test(map.clone(), ":edge", &default_ver)?;
16401641

1641-
// `image` always takes precedence over `zig.image`, even when `uses_zig` is `true`
16421642
map.insert(
16431643
"CROSS_TARGET_X86_64_UNKNOWN_LINUX_GNU_ZIG_IMAGE",
16441644
"@sha256:foobar",
16451645
);
1646-
test(map.clone(), ":edge", ":edge")?;
1646+
test(map.clone(), ":edge", "@sha256:foobar")?;
16471647

16481648
map.remove("CROSS_TARGET_X86_64_UNKNOWN_LINUX_GNU_IMAGE");
16491649
test(map.clone(), &default_ver, "@sha256:foobar")?;

0 commit comments

Comments
 (0)