From dcdfc0d004939a8ab8b51f52afd788af1bb7bbf8 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Fri, 3 Nov 2017 11:50:57 +0100 Subject: [PATCH] fix: refactor pin dependencies first using array.some (#1094) --- lib/workers/repository/index.js | 21 +++----- .../__snapshots__/index.spec.js.snap | 51 ------------------- test/workers/repository/index.spec.js | 31 ----------- 3 files changed, 7 insertions(+), 96 deletions(-) delete mode 100644 test/workers/repository/__snapshots__/index.spec.js.snap diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js index f16d281a37..9de200ad23 100644 --- a/lib/workers/repository/index.js +++ b/lib/workers/repository/index.js @@ -13,20 +13,9 @@ const { checkMonorepos } = require('../../manager/npm/monorepos'); const { ensureOnboardingPr } = require('./onboarding/pr'); module.exports = { - pinDependenciesFirst, renovateRepository, }; -function pinDependenciesFirst(a, b) { - if (a.type === 'pin') { - return false; - } - if (b.type === 'pin') { - return true; - } - return a.branchName > b.branchName; -} - async function renovateRepository(repoConfig, token) { let config = { ...repoConfig }; const { logger } = config; @@ -115,16 +104,20 @@ async function renovateRepository(repoConfig, token) { const res = await upgrades.branchifyUpgrades(allUpgrades, logger); config.errors = config.errors.concat(res.errors); config.warnings = config.warnings.concat(res.warnings); - let branchUpgrades = res.upgrades.sort(pinDependenciesFirst); + let branchUpgrades = res.upgrades; + logger.info( + { branches: branchUpgrades.map(upg => upg.branchName) }, + 'branchUpgrades' + ); logger.debug(`Updating ${branchUpgrades.length} branch(es)`); logger.trace({ config: branchUpgrades }, 'branchUpgrades'); if (config.repoIsOnboarded) { logger.info(`Processing ${branchUpgrades.length} branch(es)`); const branchStartTime = process.hrtime(); branchList = branchUpgrades.map(upgrade => upgrade.branchName); - if (branchUpgrades.length && branchUpgrades[0].isPin) { + if (branchUpgrades.some(upg => upg.isPin)) { + logger.info('Processing only pin branches first'); branchUpgrades = branchUpgrades.filter(upg => upg.isPin); - logger.info(`Processing ${branchUpgrades.length} "pin" PRs first`); } for (const branchUpgrade of branchUpgrades) { const branchResult = await branchWorker.processBranch( diff --git a/test/workers/repository/__snapshots__/index.spec.js.snap b/test/workers/repository/__snapshots__/index.spec.js.snap deleted file mode 100644 index d73bfc6c3d..0000000000 --- a/test/workers/repository/__snapshots__/index.spec.js.snap +++ /dev/null @@ -1,51 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`workers/repository pinDependenciesFirst returns pin first 1`] = ` -Array [ - Object { - "branchName": "d", - "type": "pin", - }, - Object { - "branchName": "a", - }, - Object { - "branchName": "b", - }, - Object { - "branchName": "c", - }, -] -`; - -exports[`workers/repository pinDependenciesFirst returns pin first 2`] = ` -Array [ - Object { - "branchName": "d", - "type": "pin", - }, - Object { - "branchName": "a", - }, - Object { - "branchName": "b", - }, - Object { - "branchName": "c", - }, -] -`; - -exports[`workers/repository pinDependenciesFirst returns sorted if no pin 1`] = ` -Array [ - Object { - "branchName": "a", - }, - Object { - "branchName": "b", - }, - Object { - "branchName": "c", - }, -] -`; diff --git a/test/workers/repository/index.spec.js b/test/workers/repository/index.spec.js index bc0100dff6..2d612bf17f 100644 --- a/test/workers/repository/index.spec.js +++ b/test/workers/repository/index.spec.js @@ -12,37 +12,6 @@ const onboardingPr = require('../../../lib/workers/repository/onboarding/pr'); jest.mock('../../../lib/workers/repository/onboarding/pr'); describe('workers/repository', () => { - describe('pinDependenciesFirst', () => { - it('returns sorted if no pin', () => { - const arr = [ - { branchName: 'a' }, - { branchName: 'c' }, - { branchName: 'b' }, - ]; - arr.sort(repositoryWorker.pinDependenciesFirst); - expect(arr).toMatchSnapshot(); - }); - it('returns pin first', () => { - const arr = [ - { branchName: 'a' }, - { branchName: 'c' }, - { branchName: 'd', type: 'pin' }, - { branchName: 'b' }, - ]; - arr.sort(repositoryWorker.pinDependenciesFirst); - expect(arr).toMatchSnapshot(); - }); - it('returns pin first', () => { - const arr = [ - { branchName: 'd', type: 'pin' }, - { branchName: 'a' }, - { branchName: 'c' }, - { branchName: 'b' }, - ]; - arr.sort(repositoryWorker.pinDependenciesFirst); - expect(arr).toMatchSnapshot(); - }); - }); describe('renovateRepository', () => { let config; beforeEach(() => { -- GitLab