From 3ac6fb57e98bd0bb843a9622df17a126e456d27a Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Wed, 15 Jan 2025 16:44:26 +0200 Subject: [PATCH] Fix crash when checking a remote tag and it is the latest available --- src/registry.rs | 1 + src/structs/image.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/registry.rs b/src/registry.rs index 6301dd5..96346d8 100644 --- a/src/registry.rs +++ b/src/registry.rs @@ -182,6 +182,7 @@ pub async fn get_latest_tag( Some(t) => { if t == base && image.digest_info.is_some() { // Tags are equal so we'll compare digests + debug!(config.debug, "Tags for {} are equal, comparing digests.", image.reference); get_latest_digest( &Image { version_info: Some(VersionInfo { diff --git a/src/structs/image.rs b/src/structs/image.rs index 7cff36e..a4d16e5 100644 --- a/src/structs/image.rs +++ b/src/structs/image.rs @@ -135,6 +135,7 @@ impl Image { pub fn to_update(&self) -> Update { let has_update = self.has_update(); let update_type = match has_update { + Status::UpToDate => "none", Status::UpdateMajor | Status::UpdateMinor | Status::UpdatePatch => "version", _ => "digest", }; @@ -181,7 +182,8 @@ impl Image { remote_digest, }) } - _ => unreachable!(), + "none" => UpdateInfo::None, + _ => unreachable!() }, }, error: self.error.clone(),