From e83cb0a9c295909b2f9062aa29ae129aba870036 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Fri, 13 Jul 2018 06:58:39 +0200
Subject: [PATCH] feat: skip schedule for pin dependencies PRs

Pin dependencies PRs can hold up other PRs, so should not be restricted by configured schedules.

Relevant to https://github.com/renovatebot/config-help/issues/64
---
 lib/workers/repository/updates/generate.js       |  4 ++++
 test/workers/repository/updates/generate.spec.js | 12 ++++++++++++
 2 files changed, 16 insertions(+)

diff --git a/lib/workers/repository/updates/generate.js b/lib/workers/repository/updates/generate.js
index bf5242eea5..fb9d20eabc 100644
--- a/lib/workers/repository/updates/generate.js
+++ b/lib/workers/repository/updates/generate.js
@@ -145,6 +145,10 @@ function generateBranchConfig(branchUpgrades) {
   );
   config.automerge = config.upgrades.every(upgrade => upgrade.automerge);
   config.blockedByPin = config.upgrades.every(upgrade => upgrade.blockedByPin);
+  if (config.upgrades.every(upgrade => upgrade.updateType === 'pin')) {
+    logger.debug('Overriding schedule for Pin PR');
+    config.schedule = [];
+  }
   return config;
 }
 
diff --git a/test/workers/repository/updates/generate.spec.js b/test/workers/repository/updates/generate.spec.js
index c0493652db..dcd7c28887 100644
--- a/test/workers/repository/updates/generate.spec.js
+++ b/test/workers/repository/updates/generate.spec.js
@@ -236,5 +236,17 @@ describe('workers/repository/updates/generate', () => {
       expect(res.recreateClosed).toBe(false);
       expect(res.groupName).toBeUndefined();
     });
+    it('overrides schedule for pin PRs', () => {
+      const branch = [
+        {
+          ...defaultConfig,
+          depName: 'some-dep',
+          schedule: 'before 3am',
+          updateType: 'pin',
+        },
+      ];
+      const res = generateBranchConfig(branch);
+      expect(res.schedule).toEqual([]);
+    });
   });
 });
-- 
GitLab