From 80214f09002c4b45d9d8a8ff11908c5fb0b64ece Mon Sep 17 00:00:00 2001 From: OnkarRuikar <87750369+OnkarRuikar@users.noreply.github.com> Date: Sat, 2 Mar 2024 12:20:58 +0530 Subject: [PATCH] fix(ci): Fix URL check script GitHub workflow part --- scripts/log-url-issues.js | 58 ++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 16 deletions(-) diff --git a/scripts/log-url-issues.js b/scripts/log-url-issues.js index c69f8be663b4689..46d877d18490ba3 100644 --- a/scripts/log-url-issues.js +++ b/scripts/log-url-issues.js @@ -19,24 +19,49 @@ const addedFragmentDetails = []; let deletedFragmentDetails = []; let isAllOk = true; -function getDeletedSlugs() { - // git status --short --porcelain - let result = execGit(["status", "--short", "--porcelain"], { cwd: "." }); +function getDeletedSlugs(fromStaging = true) { + let result = ""; - if (result.trim()) { - deletedSlugs.push( - ...result - .split("\n") - .filter( - (line) => - /^\s*D\s+/gi.test(line) && - line.includes("files/en-us") && - (IMG_RX.test(line) || line.includes("index.md")), - ) - .map((line) => line.replaceAll(/^\s*|files\/en-us\/|\/index.md/gm, "")) - .map((line) => line.split(/\s+/)[1]), - ); + if (fromStaging) { + // git status --short --porcelain + result = execGit(["status", "--short", "--porcelain"], { cwd: "." }); + if (result.trim()) { + deletedSlugs.push( + ...result + .split("\n") + .filter( + (line) => + /^\s*D\s+/gi.test(line) && + line.includes("files/en-us") && + (IMG_RX.test(line) || line.includes("index.md")), + ) + .map((line) => + line.replaceAll(/^\s+|files\/en-us\/|\/index.md/gm, ""), + ) + .map((line) => line.split(/\s+/)[1]), + ); + } + } else { + // git diff --summary origin/main...HEAD + result = execGit(["diff", "--summary", "origin/main...HEAD"], { cwd: "." }); + if (result.trim()) { + deletedSlugs.push( + ...result + .split("\n") + .filter( + (line) => + line.includes("delete mode") && + line.includes("files/en-us") && + (IMG_RX.test(line) || line.includes("index.md")), + ) + .map((line) => line.replace(/^\s*delete mode \d+ /gm, "")) + .map((line) => + line.replaceAll(/^\s+|files\/en-us\/|\/index.md/gm, ""), + ), + ); + } } + console.log("deletedSlugs", deletedSlugs); } @@ -87,6 +112,7 @@ if (process.argv[2] !== "--workflow") { getDeletedSlugs(); getFragmentDetails(); } else { + getDeletedSlugs(false); getFragmentDetails(false); }