diff --git a/lib/workers/repository/finalise/index.js b/lib/workers/repository/finalise/index.js new file mode 100644 index 0000000000000000000000000000000000000000..e3fa96c485863dd861745d24ce1a607e0ad9bc97 --- /dev/null +++ b/lib/workers/repository/finalise/index.js @@ -0,0 +1,14 @@ +const { validatePrs } = require('./validate'); +const { pruneStaleBranches } = require('./prune'); + +module.exports = { + finaliseRepo, +}; + +// istanbul ignore next +async function finaliseRepo(config, branchList) { + // TODO: Promise.all + await validatePrs(config); + await pruneStaleBranches(config, branchList); + platform.cleanRepo(); +} diff --git a/lib/workers/repository/cleanup.js b/lib/workers/repository/finalise/prune.js similarity index 95% rename from lib/workers/repository/cleanup.js rename to lib/workers/repository/finalise/prune.js index 213f7612f7eeba34e9186515976494d26b1a790c..a357c567ae560dffb56ae817694f61b003675859 100644 --- a/lib/workers/repository/cleanup.js +++ b/lib/workers/repository/finalise/prune.js @@ -2,9 +2,8 @@ module.exports = { pruneStaleBranches, }; -async function pruneStaleBranches(config) { +async function pruneStaleBranches(config, branchList) { // TODO: try/catch - const { branchList } = config; logger.debug('Removing any stale branches'); logger.trace({ config }, `pruneStaleBranches`); logger.debug(`config.repoIsOnboarded=${config.repoIsOnboarded}`); diff --git a/lib/workers/repository/validate.js b/lib/workers/repository/finalise/validate.js similarity index 97% rename from lib/workers/repository/validate.js rename to lib/workers/repository/finalise/validate.js index fb2911e4cbd9c6502222e476bfbcaa8f25cae4c7..53892712dfdba67c845f1f8524f63fd249e57a75 100644 --- a/lib/workers/repository/validate.js +++ b/lib/workers/repository/finalise/validate.js @@ -1,4 +1,4 @@ -const { migrateAndValidate } = require('../../config/migrate-validate'); +const { migrateAndValidate } = require('../../../config/migrate-validate'); async function getRenovatePrs(branchPrefix) { return (await platform.getPrList()) diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js index 12b849dad4e6ea174b69906b3b50f6af195a99f0..548bd320862a074e837ddb5c84ef32bbc3833954 100644 --- a/lib/workers/repository/index.js +++ b/lib/workers/repository/index.js @@ -4,8 +4,7 @@ const { determineUpdates } = require('./updates'); const { ensureOnboardingPr } = require('./onboarding/pr'); const { writeUpdates } = require('./write'); const { handleError } = require('./error'); -const { pruneStaleBranches } = require('./cleanup'); -const { validatePrs } = require('./validate'); +const { finaliseRepo } = require('./finalise'); const { resolvePackageFiles } = require('../../manager'); @@ -77,23 +76,14 @@ async function renovateRepository(repoConfig) { res = config.repoIsOnboarded ? await writeUpdates(config) : await ensureOnboardingPr(config); - await validatePrs(commonConfig || config); + logger.setMeta({ repository: config.repository }); + config.branchPrefix = commonConfig + ? commonConfig.branchPrefix + : config.branchPrefix; + await finaliseRepo(commonConfig || config, config.branchList); } catch (err) /* istanbul ignore next */ { res = await handleError(config, err); } - logger.setMeta({ repository: config.repository }); - config.branchPrefix = commonConfig - ? commonConfig.branchPrefix - : config.branchPrefix; - try { - await pruneStaleBranches(config); - platform.cleanRepo(); - } catch (err) /* istanbul ignore next */ { - logger.error( - { err, message: err.message }, - 'Error pruning/cleaning repository' - ); - } const disabledStatuses = [ 'archived', 'blocked', diff --git a/test/workers/repository/cleanup.spec.js b/test/workers/repository/finalise/prune.spec.js similarity index 92% rename from test/workers/repository/cleanup.spec.js rename to test/workers/repository/finalise/prune.spec.js index 8ca8169d0389294bbaebb29d6ff92d98d3b6e85c..9f81cedc3a6bc475e6af5388ab02c8d928695c30 100644 --- a/test/workers/repository/cleanup.spec.js +++ b/test/workers/repository/finalise/prune.spec.js @@ -1,15 +1,15 @@ -const cleanup = require('../../../lib/workers/repository/cleanup'); +const cleanup = require('../../../../lib/workers/repository/finalise/prune'); let config; beforeEach(() => { jest.resetAllMocks(); - config = require('../../_fixtures/config'); + config = require('../../../_fixtures/config'); config.platform = 'github'; config.errors = []; config.warnings = []; }); -describe('workers/repository/cleanup', () => { +describe('workers/repository/finalise/prune', () => { describe('pruneStaleBranches()', () => { it('returns if no branchList', async () => { delete config.branchList; diff --git a/test/workers/repository/validate.spec.js b/test/workers/repository/finalise/validate.spec.js similarity index 97% rename from test/workers/repository/validate.spec.js rename to test/workers/repository/finalise/validate.spec.js index 4345d7d8df572dfa82bcdc3fca2e01c8abd04b6c..25fc8a2e871f072c4e4388b1e02b3879fd2032d2 100644 --- a/test/workers/repository/validate.spec.js +++ b/test/workers/repository/finalise/validate.spec.js @@ -1,4 +1,4 @@ -const validate = require('../../../lib/workers/repository/validate'); +const validate = require('../../../../lib/workers/repository/finalise/validate'); beforeEach(() => { jest.resetAllMocks(); diff --git a/test/workers/repository/index.spec.js b/test/workers/repository/index.spec.js index 722675c5f5b90e34a9eca00e0f34e0b409dcc211..acdf5f2fd525b3f0bc41add83e8d8834c5af8ba3 100644 --- a/test/workers/repository/index.spec.js +++ b/test/workers/repository/index.spec.js @@ -11,8 +11,7 @@ jest.mock('../../../lib/workers/repository/init/apis'); jest.mock('../../../lib/workers/repository/updates'); jest.mock('../../../lib/workers/repository/onboarding/pr'); jest.mock('../../../lib/workers/repository/write'); -jest.mock('../../../lib/workers/repository/cleanup'); -jest.mock('../../../lib/workers/repository/validate'); +jest.mock('../../../lib/workers/repository/finalise'); jest.mock('../../../lib/manager'); jest.mock('delay');