diff --git a/lib/workers/repository/index.ts b/lib/workers/repository/index.ts index ecce455412db6a37b05c6c4345cd00ed1d3bb387..8ec13a53de53546312a32ec1b2a3454cedf1ec7b 100644 --- a/lib/workers/repository/index.ts +++ b/lib/workers/repository/index.ts @@ -25,7 +25,8 @@ try { // istanbul ignore next export async function renovateRepository( - repoConfig: RenovateConfig + repoConfig: RenovateConfig, + canRetry = true ): Promise<ProcessResult> { splitInit(); let config = setAdminConfig(repoConfig); @@ -47,7 +48,14 @@ export async function renovateRepository( const res = await updateRepo(config, branches); addSplit('update'); await setBranchCache(branches); - if (res !== 'automerged') { + if (res === 'automerged') { + if (canRetry) { + logger.info('Renovating repository again after automerge result'); + const recursiveRes = await renovateRepository(repoConfig, false); + return recursiveRes; + } + logger.debug(`Automerged but already retried once`); + } else { await ensureMasterIssue(config, branches); } await finaliseRepo(config, branchList);