From 2aa9c3c83d1c48304ea46092438ab2eedc378c53 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 24 Sep 2018 21:22:34 +0200
Subject: [PATCH] fix: try/catch branch prune

---
 lib/workers/repository/finalise/prune.js | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/lib/workers/repository/finalise/prune.js b/lib/workers/repository/finalise/prune.js
index 591261ef82..3c4d4a008c 100644
--- a/lib/workers/repository/finalise/prune.js
+++ b/lib/workers/repository/finalise/prune.js
@@ -3,7 +3,6 @@ module.exports = {
 };
 
 async function pruneStaleBranches(config, branchList) {
-  // TODO: try/catch
   logger.debug('Removing any stale branches');
   logger.trace({ config }, `pruneStaleBranches`);
   logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`);
@@ -41,13 +40,17 @@ async function pruneStaleBranches(config, branchList) {
     return;
   }
   for (const branchName of remainingBranches) {
-    logger.info({ branch: branchName }, `Deleting orphan branch`);
-    const pr = await platform.findPr(branchName, null, 'open');
-    if (pr) {
-      await platform.updatePr(pr.number, `${pr.title} - autoclosed`);
-      logger.info({ prNo: pr.number, prTitle: pr.title }, 'PR autoclosed');
+    try {
+      const pr = await platform.findPr(branchName, null, 'open');
+      if (pr) {
+        await platform.updatePr(pr.number, `${pr.title} - autoclosed`);
+        logger.info({ prNo: pr.number, prTitle: pr.title }, 'PR autoclosed');
+      }
+      const closePr = true;
+      await platform.deleteBranch(branchName, closePr);
+      logger.info({ branch: branchName }, `Deleting orphan branch`);
+    } catch (err) /* istanbul ignore next */ {
+      logger.warn({ err, branch: branchName }, 'Error pruning branch');
     }
-    const closePr = true;
-    await platform.deleteBranch(branchName, closePr);
   }
 }
-- 
GitLab