From 2a535136bbf931a38c76dcffc66b0f3639af0609 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 26 Sep 2023 22:28:42 +0200
Subject: [PATCH] =?UTF-8?q?fix(mix):=20don=E2=80=99t=20stop=20parsing=20if?=
 =?UTF-8?q?=20a=20package=20contains=20=E2=80=9Cend=E2=80=9D=20(#24665)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/modules/manager/mix/__fixtures__/mix.exs | 1 +
 lib/modules/manager/mix/extract.spec.ts      | 6 ++++++
 lib/modules/manager/mix/extract.ts           | 2 +-
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/modules/manager/mix/__fixtures__/mix.exs b/lib/modules/manager/mix/__fixtures__/mix.exs
index 3bb83fc5d2..78a1cd2cb3 100644
--- a/lib/modules/manager/mix/__fixtures__/mix.exs
+++ b/lib/modules/manager/mix/__fixtures__/mix.exs
@@ -30,6 +30,7 @@ defmodule MyProject.MixProject do
       {:jason, ">= 1.0.0"},
       {:jason, "~> 1.0",
         optional: true},
+      {:hammer_backend_redis, "~> 6.1"},
       {:phoenix, "== 1.6.14"},
     ]
   end
diff --git a/lib/modules/manager/mix/extract.spec.ts b/lib/modules/manager/mix/extract.spec.ts
index 3703f2f487..5a7e6ed1d3 100644
--- a/lib/modules/manager/mix/extract.spec.ts
+++ b/lib/modules/manager/mix/extract.spec.ts
@@ -79,6 +79,12 @@ describe('modules/manager/mix/extract', () => {
           depName: 'jason',
           packageName: 'jason',
         },
+        {
+          currentValue: '~> 6.1',
+          datasource: 'hex',
+          depName: 'hammer_backend_redis',
+          packageName: 'hammer_backend_redis',
+        },
         {
           currentValue: '== 1.6.14',
           currentVersion: '1.6.14',
diff --git a/lib/modules/manager/mix/extract.ts b/lib/modules/manager/mix/extract.ts
index 2d601a0d09..457c382ba1 100644
--- a/lib/modules/manager/mix/extract.ts
+++ b/lib/modules/manager/mix/extract.ts
@@ -32,7 +32,7 @@ export async function extractPackageFile(
       do {
         depBuffer += contentArr[lineNumber] + '\n';
         lineNumber += 1;
-      } while (!contentArr[lineNumber].includes('end'));
+      } while (contentArr[lineNumber].trim() !== 'end');
       let depMatchGroups = depMatchRegExp.exec(depBuffer)?.groups;
       while (depMatchGroups) {
         const { app, requirement, opts } = depMatchGroups;
-- 
GitLab