diff --git a/dist/helpers/add-pr-approval-label.js b/dist/helpers/add-pr-approval-label.js index 041136ef7..6d9c24bd9 100644 --- a/dist/helpers/add-pr-approval-label.js +++ b/dist/helpers/add-pr-approval-label.js @@ -12,8 +12,8 @@ import { } from "../main-fh8gy58w.js"; import { getCoreMemberLogins -} from "../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +} from "../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import { HelperInputs } from "../main-d5wrnkmf.js"; diff --git a/dist/helpers/approvals-satisfied.js b/dist/helpers/approvals-satisfied.js index 410e2050d..594589d5d 100644 --- a/dist/helpers/approvals-satisfied.js +++ b/dist/helpers/approvals-satisfied.js @@ -1,10 +1,10 @@ import { ApprovalsSatisfied2, approvalsSatisfied2 -} from "../main-xtctj82v.js"; +} from "../main-kvpz5nvm.js"; import"../main-hwzwrqja.js"; -import"../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +import"../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import"../main-fh8gy58w.js"; import"../main-nnwtk8w8.js"; import"../main-6sabwhac.js"; diff --git a/dist/helpers/are-reviewers-required.js b/dist/helpers/are-reviewers-required.js index 219fa7796..8fddc8df6 100644 --- a/dist/helpers/are-reviewers-required.js +++ b/dist/helpers/are-reviewers-required.js @@ -8,8 +8,8 @@ import"../main-6sabwhac.js"; import"../main-fh8gy58w.js"; import { getRequiredCodeOwnersEntries -} from "../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +} from "../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import { HelperInputs } from "../main-d5wrnkmf.js"; diff --git a/dist/helpers/assign-pr-reviewers.js b/dist/helpers/assign-pr-reviewers.js index 84cc04258..1e30925a5 100644 --- a/dist/helpers/assign-pr-reviewers.js +++ b/dist/helpers/assign-pr-reviewers.js @@ -10,7 +10,7 @@ import { } from "../main-fh8gy58w.js"; import { getCoreMemberLogins -} from "../main-33hyq3fg.js"; +} from "../main-zdktbbwp.js"; import { notifyUser } from "../main-c2rt2anc.js"; @@ -18,7 +18,7 @@ import"../main-hbnqs8ps.js"; import { CORE_APPROVED_PR_LABEL } from "../main-jq9kgsp8.js"; -import"../main-8fvwf10s.js"; +import"../main-h4qz490e.js"; import { require_lodash } from "../main-t2wes6yn.js"; diff --git a/dist/helpers/generate-path-matrix.js b/dist/helpers/generate-path-matrix.js index aad317448..1ac3344c4 100644 --- a/dist/helpers/generate-path-matrix.js +++ b/dist/helpers/generate-path-matrix.js @@ -11,7 +11,7 @@ import { } from "../main-hatr91y7.js"; import { getChangedFilepaths -} from "../main-8fvwf10s.js"; +} from "../main-h4qz490e.js"; import { require_lodash } from "../main-t2wes6yn.js"; diff --git a/dist/helpers/get-changed-files.js b/dist/helpers/get-changed-files.js index 4a2335d68..8768351e2 100644 --- a/dist/helpers/get-changed-files.js +++ b/dist/helpers/get-changed-files.js @@ -11,7 +11,7 @@ import"../main-00tcd9f5.js"; import { getChangedFilepaths, getChangedFilepathsFromShas -} from "../main-8fvwf10s.js"; +} from "../main-h4qz490e.js"; import { HelperInputs } from "../main-d5wrnkmf.js"; diff --git a/dist/helpers/is-user-core-member.js b/dist/helpers/is-user-core-member.js index 72b8f3aa8..6dfaa6141 100644 --- a/dist/helpers/is-user-core-member.js +++ b/dist/helpers/is-user-core-member.js @@ -8,8 +8,8 @@ import { import"../main-fh8gy58w.js"; import { getCoreMemberLogins -} from "../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +} from "../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import { HelperInputs } from "../main-d5wrnkmf.js"; diff --git a/dist/helpers/manage-merge-queue.js b/dist/helpers/manage-merge-queue.js index 071f0b5a3..d67098897 100644 --- a/dist/helpers/manage-merge-queue.js +++ b/dist/helpers/manage-merge-queue.js @@ -3,18 +3,18 @@ import { manageMergeQueue2, removePrFromQueue2, enableAutoMerge2 -} from "../main-dkmveggg.js"; +} from "../main-dm1emycq.js"; import"../main-d50gcstv.js"; import"../main-b3a18pad.js"; import"../main-en73eexx.js"; import"../main-j2vhxcaz.js"; -import"../main-xtctj82v.js"; +import"../main-kvpz5nvm.js"; import"../main-hwzwrqja.js"; import"../main-c2rt2anc.js"; import"../main-hbnqs8ps.js"; import"../main-jq9kgsp8.js"; -import"../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +import"../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import"../main-fh8gy58w.js"; import"../main-nnwtk8w8.js"; import"../main-6sabwhac.js"; diff --git a/dist/helpers/prepare-queued-pr-for-merge.js b/dist/helpers/prepare-queued-pr-for-merge.js index a7d506c69..c3df96fb1 100644 --- a/dist/helpers/prepare-queued-pr-for-merge.js +++ b/dist/helpers/prepare-queued-pr-for-merge.js @@ -1,18 +1,18 @@ import { prepareQueuedPrForMerge2, updatePrWithDefaultBranch2 -} from "../main-dkmveggg.js"; +} from "../main-dm1emycq.js"; import"../main-d50gcstv.js"; import"../main-b3a18pad.js"; import"../main-en73eexx.js"; import"../main-j2vhxcaz.js"; -import"../main-xtctj82v.js"; +import"../main-kvpz5nvm.js"; import"../main-hwzwrqja.js"; import"../main-c2rt2anc.js"; import"../main-hbnqs8ps.js"; import"../main-jq9kgsp8.js"; -import"../main-33hyq3fg.js"; -import"../main-8fvwf10s.js"; +import"../main-zdktbbwp.js"; +import"../main-h4qz490e.js"; import"../main-fh8gy58w.js"; import"../main-nnwtk8w8.js"; import"../main-6sabwhac.js"; diff --git a/dist/main-dkmveggg.js b/dist/main-dm1emycq.js similarity index 99% rename from dist/main-dkmveggg.js rename to dist/main-dm1emycq.js index c33762b4c..b5c0de018 100644 --- a/dist/main-dkmveggg.js +++ b/dist/main-dm1emycq.js @@ -35,7 +35,7 @@ import { } from "./main-hwzwrqja.js"; import { approvalsSatisfied2 -} from "./main-xtctj82v.js"; +} from "./main-kvpz5nvm.js"; import { isUserInTeam2 } from "./main-d50gcstv.js"; diff --git a/dist/main-dkmveggg.js.map b/dist/main-dm1emycq.js.map similarity index 100% rename from dist/main-dkmveggg.js.map rename to dist/main-dm1emycq.js.map diff --git a/dist/main-8fvwf10s.js b/dist/main-h4qz490e.js similarity index 95% rename from dist/main-8fvwf10s.js rename to dist/main-h4qz490e.js index 2a13a7966..ce3827d87 100644 --- a/dist/main-8fvwf10s.js +++ b/dist/main-h4qz490e.js @@ -25,8 +25,11 @@ var getChangedFilepathsFromShas = async (before, after, ignore_deleted) => { return extractFilepaths(Array.from(fileMap.values()), ignore_deleted); }; var extractFilepaths = (changedFiles, ignore_deleted) => { - const renamedPreviousFilenames = changedFiles.filter(({ status }) => status === "renamed").map(({ previous_filename }) => previous_filename).filter(Boolean); const processedFilenames = (ignore_deleted ? changedFiles.filter(({ status }) => status !== "removed") : changedFiles).map(({ filename }) => filename); + if (ignore_deleted) { + return processedFilenames; + } + const renamedPreviousFilenames = changedFiles.filter(({ status }) => status === "renamed").map(({ previous_filename }) => previous_filename).filter(Boolean); return processedFilenames.concat(renamedPreviousFilenames); }; var paginateAllCommitsInRange = async (before, after, page = 1) => { @@ -56,4 +59,4 @@ var paginateAllChangedFilepaths = async (pull_number, page = 1) => { export { getChangedFilepaths, getChangedFilepathsFromShas }; -//# debugId=BC6FAEACD395161564756E2164756E21 +//# debugId=6C9A16D8E7B2F99F64756E2164756E21 diff --git a/dist/main-8fvwf10s.js.map b/dist/main-h4qz490e.js.map similarity index 51% rename from dist/main-8fvwf10s.js.map rename to dist/main-h4qz490e.js.map index 235a56d4c..3b53cfa47 100644 --- a/dist/main-8fvwf10s.js.map +++ b/dist/main-h4qz490e.js.map @@ -2,9 +2,9 @@ "version": 3, "sources": ["../src/utils/get-changed-filepaths.ts"], "sourcesContent": [ - "/*\nCopyright 2021 Expedia, Inc.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n https://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ChangedFilesList } from '../types/github';\nimport { context } from '@actions/github';\nimport { octokit } from '../octokit';\n\nexport const getChangedFilepaths = async (pull_number: number, ignore_deleted?: boolean) => {\n const changedFiles = await paginateAllChangedFilepaths(pull_number);\n return extractFilepaths(changedFiles, ignore_deleted);\n};\n\nexport const getChangedFilepathsFromShas = async (before: string, after: string, ignore_deleted?: boolean) => {\n const commits = await paginateAllCommitsInRange(before, after);\n const commitFiles = await Promise.all(\n commits.map(async ({ sha }) => {\n const { data } = await octokit.repos.getCommit({ ref: sha, ...context.repo });\n return (data.files ?? []) as ChangedFilesList;\n })\n );\n const fileMap = new Map();\n for (const files of commitFiles) {\n for (const file of files) {\n fileMap.set(file.filename, file);\n }\n }\n return extractFilepaths(Array.from(fileMap.values()), ignore_deleted);\n};\n\nconst extractFilepaths = (changedFiles: ChangedFilesList, ignore_deleted?: boolean) => {\n const renamedPreviousFilenames = changedFiles\n .filter(({ status }) => status === 'renamed')\n .map(({ previous_filename }) => previous_filename)\n .filter(Boolean); // GitHub should always include previous_filename for renamed files, but just in case\n const processedFilenames = (ignore_deleted ? changedFiles.filter(({ status }) => status !== 'removed') : changedFiles).map(\n ({ filename }) => filename\n );\n return processedFilenames.concat(renamedPreviousFilenames);\n};\n\nconst paginateAllCommitsInRange = async (before: string, after: string, page = 1): Promise> => {\n const response = await octokit.repos.compareCommitsWithBasehead({\n basehead: `${before}...${after}`,\n per_page: 100,\n page,\n ...context.repo\n });\n if (!response.data.commits.length) {\n return [];\n }\n return [...response.data.commits, ...(await paginateAllCommitsInRange(before, after, page + 1))];\n};\n\nconst paginateAllChangedFilepaths = async (pull_number: number, page = 1): Promise => {\n const response = await octokit.pulls.listFiles({\n pull_number,\n per_page: 100,\n page,\n ...context.repo\n });\n if (!response.data.length) {\n return [];\n }\n return response.data.concat(await paginateAllChangedFilepaths(pull_number, page + 1));\n};\n" + "/*\nCopyright 2021 Expedia, Inc.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n https://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ChangedFilesList } from '../types/github';\nimport { context } from '@actions/github';\nimport { octokit } from '../octokit';\n\nexport const getChangedFilepaths = async (pull_number: number, ignore_deleted?: boolean) => {\n const changedFiles = await paginateAllChangedFilepaths(pull_number);\n return extractFilepaths(changedFiles, ignore_deleted);\n};\n\nexport const getChangedFilepathsFromShas = async (before: string, after: string, ignore_deleted?: boolean) => {\n const commits = await paginateAllCommitsInRange(before, after);\n const commitFiles = await Promise.all(\n commits.map(async ({ sha }) => {\n const { data } = await octokit.repos.getCommit({ ref: sha, ...context.repo });\n return (data.files ?? []) as ChangedFilesList;\n })\n );\n const fileMap = new Map();\n for (const files of commitFiles) {\n for (const file of files) {\n fileMap.set(file.filename, file);\n }\n }\n return extractFilepaths(Array.from(fileMap.values()), ignore_deleted);\n};\n\nconst extractFilepaths = (changedFiles: ChangedFilesList, ignore_deleted?: boolean) => {\n const processedFilenames = (ignore_deleted ? changedFiles.filter(({ status }) => status !== 'removed') : changedFiles).map(\n ({ filename }) => filename\n );\n if (ignore_deleted) {\n return processedFilenames;\n }\n const renamedPreviousFilenames = changedFiles\n .filter(({ status }) => status === 'renamed')\n .map(({ previous_filename }) => previous_filename)\n .filter(Boolean); // GitHub should always include previous_filename for renamed files, but just in case\n return processedFilenames.concat(renamedPreviousFilenames);\n};\n\nconst paginateAllCommitsInRange = async (before: string, after: string, page = 1): Promise> => {\n const response = await octokit.repos.compareCommitsWithBasehead({\n basehead: `${before}...${after}`,\n per_page: 100,\n page,\n ...context.repo\n });\n if (!response.data.commits.length) {\n return [];\n }\n return [...response.data.commits, ...(await paginateAllCommitsInRange(before, after, page + 1))];\n};\n\nconst paginateAllChangedFilepaths = async (pull_number: number, page = 1): Promise => {\n const response = await octokit.pulls.listFiles({\n pull_number,\n per_page: 100,\n page,\n ...context.repo\n });\n if (!response.data.length) {\n return [];\n }\n return response.data.concat(await paginateAllChangedFilepaths(pull_number, page + 1));\n};\n" ], - "mappings": ";;;;;;;;AAiBO,IAAM,sBAAsB,OAAO,aAAqB,mBAA6B;AAAA,EAC1F,MAAM,eAAe,MAAM,4BAA4B,WAAW;AAAA,EAClE,OAAO,iBAAiB,cAAc,cAAc;AAAA;AAG/C,IAAM,8BAA8B,OAAO,QAAgB,OAAe,mBAA6B;AAAA,EAC5G,MAAM,UAAU,MAAM,0BAA0B,QAAQ,KAAK;AAAA,EAC7D,MAAM,cAAc,MAAM,QAAQ,IAChC,QAAQ,IAAI,SAAS,UAAU;AAAA,IAC7B,QAAQ,SAAS,MAAM,QAAQ,MAAM,UAAU,EAAE,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,IAC5E,OAAQ,KAAK,SAAS,CAAC;AAAA,GACxB,CACH;AAAA,EACA,MAAM,UAAU,IAAI;AAAA,EACpB,WAAW,SAAS,aAAa;AAAA,IAC/B,WAAW,QAAQ,OAAO;AAAA,MACxB,QAAQ,IAAI,KAAK,UAAU,IAAI;AAAA,IACjC;AAAA,EACF;AAAA,EACA,OAAO,iBAAiB,MAAM,KAAK,QAAQ,OAAO,CAAC,GAAG,cAAc;AAAA;AAGtE,IAAM,mBAAmB,CAAC,cAAgC,mBAA6B;AAAA,EACrF,MAAM,2BAA2B,aAC9B,OAAO,GAAG,aAAa,WAAW,SAAS,EAC3C,IAAI,GAAG,wBAAwB,iBAAiB,EAChD,OAAO,OAAO;AAAA,EACjB,MAAM,sBAAsB,iBAAiB,aAAa,OAAO,GAAG,aAAa,WAAW,SAAS,IAAI,cAAc,IACrH,GAAG,eAAe,QACpB;AAAA,EACA,OAAO,mBAAmB,OAAO,wBAAwB;AAAA;AAG3D,IAAM,4BAA4B,OAAO,QAAgB,OAAe,OAAO,MAAuC;AAAA,EACpH,MAAM,WAAW,MAAM,QAAQ,MAAM,2BAA2B;AAAA,IAC9D,UAAU,GAAG,YAAY;AAAA,IACzB,UAAU;AAAA,IACV;AAAA,OACG,QAAQ;AAAA,EACb,CAAC;AAAA,EACD,IAAI,CAAC,SAAS,KAAK,QAAQ,QAAQ;AAAA,IACjC,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,CAAC,GAAG,SAAS,KAAK,SAAS,GAAI,MAAM,0BAA0B,QAAQ,OAAO,OAAO,CAAC,CAAE;AAAA;AAGjG,IAAM,8BAA8B,OAAO,aAAqB,OAAO,MAAiC;AAAA,EACtG,MAAM,WAAW,MAAM,QAAQ,MAAM,UAAU;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,IACV;AAAA,OACG,QAAQ;AAAA,EACb,CAAC;AAAA,EACD,IAAI,CAAC,SAAS,KAAK,QAAQ;AAAA,IACzB,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,SAAS,KAAK,OAAO,MAAM,4BAA4B,aAAa,OAAO,CAAC,CAAC;AAAA;", - "debugId": "BC6FAEACD395161564756E2164756E21", + "mappings": ";;;;;;;;AAiBO,IAAM,sBAAsB,OAAO,aAAqB,mBAA6B;AAAA,EAC1F,MAAM,eAAe,MAAM,4BAA4B,WAAW;AAAA,EAClE,OAAO,iBAAiB,cAAc,cAAc;AAAA;AAG/C,IAAM,8BAA8B,OAAO,QAAgB,OAAe,mBAA6B;AAAA,EAC5G,MAAM,UAAU,MAAM,0BAA0B,QAAQ,KAAK;AAAA,EAC7D,MAAM,cAAc,MAAM,QAAQ,IAChC,QAAQ,IAAI,SAAS,UAAU;AAAA,IAC7B,QAAQ,SAAS,MAAM,QAAQ,MAAM,UAAU,EAAE,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA,IAC5E,OAAQ,KAAK,SAAS,CAAC;AAAA,GACxB,CACH;AAAA,EACA,MAAM,UAAU,IAAI;AAAA,EACpB,WAAW,SAAS,aAAa;AAAA,IAC/B,WAAW,QAAQ,OAAO;AAAA,MACxB,QAAQ,IAAI,KAAK,UAAU,IAAI;AAAA,IACjC;AAAA,EACF;AAAA,EACA,OAAO,iBAAiB,MAAM,KAAK,QAAQ,OAAO,CAAC,GAAG,cAAc;AAAA;AAGtE,IAAM,mBAAmB,CAAC,cAAgC,mBAA6B;AAAA,EACrF,MAAM,sBAAsB,iBAAiB,aAAa,OAAO,GAAG,aAAa,WAAW,SAAS,IAAI,cAAc,IACrH,GAAG,eAAe,QACpB;AAAA,EACA,IAAI,gBAAgB;AAAA,IAClB,OAAO;AAAA,EACT;AAAA,EACA,MAAM,2BAA2B,aAC9B,OAAO,GAAG,aAAa,WAAW,SAAS,EAC3C,IAAI,GAAG,wBAAwB,iBAAiB,EAChD,OAAO,OAAO;AAAA,EACjB,OAAO,mBAAmB,OAAO,wBAAwB;AAAA;AAG3D,IAAM,4BAA4B,OAAO,QAAgB,OAAe,OAAO,MAAuC;AAAA,EACpH,MAAM,WAAW,MAAM,QAAQ,MAAM,2BAA2B;AAAA,IAC9D,UAAU,GAAG,YAAY;AAAA,IACzB,UAAU;AAAA,IACV;AAAA,OACG,QAAQ;AAAA,EACb,CAAC;AAAA,EACD,IAAI,CAAC,SAAS,KAAK,QAAQ,QAAQ;AAAA,IACjC,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,CAAC,GAAG,SAAS,KAAK,SAAS,GAAI,MAAM,0BAA0B,QAAQ,OAAO,OAAO,CAAC,CAAE;AAAA;AAGjG,IAAM,8BAA8B,OAAO,aAAqB,OAAO,MAAiC;AAAA,EACtG,MAAM,WAAW,MAAM,QAAQ,MAAM,UAAU;AAAA,IAC7C;AAAA,IACA,UAAU;AAAA,IACV;AAAA,OACG,QAAQ;AAAA,EACb,CAAC;AAAA,EACD,IAAI,CAAC,SAAS,KAAK,QAAQ;AAAA,IACzB,OAAO,CAAC;AAAA,EACV;AAAA,EACA,OAAO,SAAS,KAAK,OAAO,MAAM,4BAA4B,aAAa,OAAO,CAAC,CAAC;AAAA;", + "debugId": "6C9A16D8E7B2F99F64756E2164756E21", "names": [] } \ No newline at end of file diff --git a/dist/main-xtctj82v.js b/dist/main-kvpz5nvm.js similarity index 99% rename from dist/main-xtctj82v.js rename to dist/main-kvpz5nvm.js index 92d172719..eb3c87004 100644 --- a/dist/main-xtctj82v.js +++ b/dist/main-kvpz5nvm.js @@ -11,7 +11,7 @@ import { import { paginateMembersInOrg, getRequiredCodeOwnersEntries -} from "./main-33hyq3fg.js"; +} from "./main-zdktbbwp.js"; import { createPrComment2 } from "./main-hwzwrqja.js"; diff --git a/dist/main-xtctj82v.js.map b/dist/main-kvpz5nvm.js.map similarity index 100% rename from dist/main-xtctj82v.js.map rename to dist/main-kvpz5nvm.js.map diff --git a/dist/main-33hyq3fg.js b/dist/main-zdktbbwp.js similarity index 99% rename from dist/main-33hyq3fg.js rename to dist/main-zdktbbwp.js index c9fca4833..dbd797e4d 100644 --- a/dist/main-33hyq3fg.js +++ b/dist/main-zdktbbwp.js @@ -9,7 +9,7 @@ import { } from "./main-nnwtk8w8.js"; import { getChangedFilepaths -} from "./main-8fvwf10s.js"; +} from "./main-h4qz490e.js"; import { require_lodash } from "./main-t2wes6yn.js"; diff --git a/dist/main-33hyq3fg.js.map b/dist/main-zdktbbwp.js.map similarity index 100% rename from dist/main-33hyq3fg.js.map rename to dist/main-zdktbbwp.js.map diff --git a/src/utils/get-changed-filepaths.ts b/src/utils/get-changed-filepaths.ts index 701f36954..9a8f647f3 100644 --- a/src/utils/get-changed-filepaths.ts +++ b/src/utils/get-changed-filepaths.ts @@ -38,13 +38,16 @@ export const getChangedFilepathsFromShas = async (before: string, after: string, }; const extractFilepaths = (changedFiles: ChangedFilesList, ignore_deleted?: boolean) => { + const processedFilenames = (ignore_deleted ? changedFiles.filter(({ status }) => status !== 'removed') : changedFiles).map( + ({ filename }) => filename + ); + if (ignore_deleted) { + return processedFilenames; + } const renamedPreviousFilenames = changedFiles .filter(({ status }) => status === 'renamed') .map(({ previous_filename }) => previous_filename) .filter(Boolean); // GitHub should always include previous_filename for renamed files, but just in case - const processedFilenames = (ignore_deleted ? changedFiles.filter(({ status }) => status !== 'removed') : changedFiles).map( - ({ filename }) => filename - ); return processedFilenames.concat(renamedPreviousFilenames); }; diff --git a/test/helpers/get-changed-files.test.ts b/test/helpers/get-changed-files.test.ts index e7a5a4974..97ba94f3a 100644 --- a/test/helpers/get-changed-files.test.ts +++ b/test/helpers/get-changed-files.test.ts @@ -149,11 +149,20 @@ describe('getChangedFiles', () => { (octokit.pulls.listFiles as unknown as Mock).mockImplementation(async ({ page }: { page: number }) => ({ data: page === 1 ? mock_data4 : [] })); - const result = await getChangedFiles({ ignore_deleted: 'true' }); + const result = await getChangedFiles({}); expect(result).toEqual([mock_data4[0].filename, mock_data4[1].filename, mock_data4[1].previous_filename].join(',')); }); + it('should exclude original location of renamed files when ignore_deleted input is provided', async () => { + (octokit.pulls.listFiles as unknown as Mock).mockImplementation(async ({ page }: { page: number }) => ({ + data: page === 1 ? mock_data4 : [] + })); + const result = await getChangedFiles({ ignore_deleted: 'true' }); + + expect(result).toEqual([mock_data4[0].filename, mock_data4[1].filename].join(',')); + }); + it('should handle merge queue case', async () => { context.eventName = 'merge_group'; context.ref = 'refs/heads/gh-readonly-queue/default-branch/pr-12345-f0d9a4cb862b13cdaab6522f72d6dc17e4336b7f';