MCPcopy Create free account
hub / github.com/remix-run/react-router / runActions

Function runActions

scripts/pr.ts:201–246  ·  view source on GitHub ↗
(resultPath: string)

Source from the content-addressed store, hash-verified

199// ---------- Action dispatch ----------
200
201async function runActions(resultPath: string) {
202 let { prNumber, actions } = JSON.parse(
203 fs.readFileSync(resultPath, "utf8"),
204 ) as { prNumber: number; actions: Action[] };
205
206 if (actions.length === 0) {
207 console.log("No actions to apply");
208 return;
209 }
210
211 for (let action of actions) {
212 switch (action.type) {
213 case "upsert-sticky-comment": {
214 let comments = await getPrComments(prNumber);
215 let existing = comments.find(
216 (c) =>
217 c.user?.login === "github-actions[bot]" &&
218 c.body?.includes(action.marker),
219 );
220 if (existing) {
221 console.log(`Updating sticky comment #${existing.id}`);
222 await updatePrComment(existing.id, action.body);
223 } else {
224 console.log("Creating sticky comment");
225 await createPrComment(prNumber, action.body);
226 }
227 return;
228 }
229 case "create-comment": {
230 console.log("Creating comment");
231 await createPrComment(prNumber, action.body);
232 return;
233 }
234 case "remove-label": {
235 console.log(`Removing label '${action.label}'`);
236 await removePrLabel(prNumber, action.label);
237 return;
238 }
239 case "close-pr": {
240 console.log(`Closing PR ${prNumber}`);
241 await closePr(prNumber);
242 return;
243 }
244 }
245 }
246}
247
248// Utils
249

Callers 1

pr.tsFile · 0.85

Calls 7

getPrCommentsFunction · 0.90
updatePrCommentFunction · 0.90
createPrCommentFunction · 0.90
removePrLabelFunction · 0.90
closePrFunction · 0.90
parseMethod · 0.80
logMethod · 0.80

Tested by

no test coverage detected