From 1a06b1aa710380c7af92e30f877275269623e71f Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Fri, 28 Jun 2024 12:01:05 -0300
Subject: [PATCH] fix: Skip unexpected version downgrades (#29921)

---
 lib/workers/repository/process/lookup/index.ts | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts
index bdbafe9f8d..d2cc1510f2 100644
--- a/lib/workers/repository/process/lookup/index.ts
+++ b/lib/workers/repository/process/lookup/index.ts
@@ -450,7 +450,22 @@ export async function lookupUpdates(
         res.isSingleVersion ??=
           is.string(update.newValue) &&
           versioning.isSingleVersion(update.newValue);
-        res.updates.push(update);
+        // istanbul ignore if
+        if (
+          update.updateType !== 'rollback' &&
+          update.newValue &&
+          versioning.isVersion(update.newValue) &&
+          compareValue &&
+          versioning.isVersion(compareValue) &&
+          versioning.isGreaterThan(compareValue, update.newValue)
+        ) {
+          logger.warn(
+            { update, allVersions, filteredReleases },
+            'Unexpected downgrade detected: skipping',
+          );
+        } else {
+          res.updates.push(update);
+        }
       }
     } else if (compareValue) {
       logger.debug(
-- 
GitLab