From 89973832c93347814088c67ac99843ecb742e0d5 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Fri, 17 Sep 2021 20:16:23 +0200 Subject: [PATCH] fix: lazy branch status (#11799) --- lib/workers/pr/index.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/workers/pr/index.ts b/lib/workers/pr/index.ts index eef8e1b684a18e..d613bbcf95895a 100644 --- a/lib/workers/pr/index.ts +++ b/lib/workers/pr/index.ts @@ -149,7 +149,7 @@ export async function ensurePr( logger.trace({ config }, 'ensurePr'); // If there is a group, it will use the config of the first upgrade in the array - const { branchName, prTitle, upgrades } = config; + const { branchName, ignoreTests, prTitle, upgrades } = config; const dependencyDashboardCheck = (config.dependencyDashboardChecks || {})[ config.branchName ]; @@ -164,11 +164,7 @@ export async function ensurePr( logger.debug('Forcing PR because of artifact errors'); config.forcePr = true; } - - const branchStatus = await resolveBranchStatus( - config.branchName, - config.ignoreTests - ); + let branchStatus: BranchStatus; // Only create a PR if a branch automerge has failed if ( @@ -176,6 +172,7 @@ export async function ensurePr( config.automergeType.startsWith('branch') && !config.forcePr ) { + branchStatus ||= await resolveBranchStatus(branchName, ignoreTests); logger.debug( `Branch is configured for branch automerge, branch status) is: ${branchStatus}` ); @@ -204,6 +201,7 @@ export async function ensurePr( } if (config.prCreation === 'status-success') { logger.debug('Checking branch combined status'); + branchStatus ||= await resolveBranchStatus(branchName, ignoreTests); if (branchStatus !== BranchStatus.green) { logger.debug(`Branch status is "${branchStatus}" - not creating PR`); return { prBlockedBy: 'AwaitingTests' }; @@ -221,6 +219,7 @@ export async function ensurePr( !config.forcePr ) { logger.debug('Checking branch combined status'); + branchStatus ||= await resolveBranchStatus(branchName, ignoreTests); if (branchStatus === BranchStatus.yellow) { logger.debug(`Branch status is "${branchStatus}" - checking timeout`); const lastCommitTime = await getBranchLastCommitTime(branchName);