From f035a20536b3715a629de477c7db243467a5b80d Mon Sep 17 00:00:00 2001
From: Diego Sampaio <chinello@gmail.com>
Date: Thu, 23 Feb 2023 21:39:19 -0300
Subject: [PATCH] Chore: Fix fetching Apps-Engine and MongoDB versions for
 release notes (#28129)

---
 .houston/metadata.js | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/.houston/metadata.js b/.houston/metadata.js
index 411cff5106c..b3a41c87ed9 100644
--- a/.houston/metadata.js
+++ b/.houston/metadata.js
@@ -1,8 +1,10 @@
+const { execSync } = require('child_process');
+
 const getMongoVersion = async function({ version, git }) {
 	try {
-		const workflows = await git.show([`${ version }:.github/workflows/build_and_test.yml`]);
+		const workflows = await git.show([`${ version }:.github/workflows/ci.yml`]);
 
-		const mongoMatch = workflows.match(/mongodb\-version: \[([^\]]+)\]/);
+		const mongoMatch = workflows.match(/compatibleMongoVersions\\": \[([^\]]+)\]/);
 		if (!mongoMatch) {
 			return [];
 		}
@@ -38,11 +40,14 @@ const getNodeNpmVersions = async function({ version, git, request }) {
 
 const getAppsEngineVersion = async function({ version, git }) {
 	try {
-		const packageJson = await git.show([`${ version }:apps/meteor/package-lock.json`]);
-		const { dependencies } = JSON.parse(packageJson);
-		const { version: appsEngineVersion } = dependencies['@rocket.chat/apps-engine'];
+		const result = execSync('yarn why @rocket.chat/apps-engine --json');
+
+		const resultString = result.toString();
 
-		return appsEngineVersion;
+		const match = resultString.match(/"@rocket.chat\/meteor@workspace:apps\/meteor".*"@rocket\.chat\/apps\-engine@npm:([^"]+)"/);
+		if (match) {
+			return match[1];
+		}
 	} catch (e) {
 		console.error(e);
 	}
-- 
GitLab