From 109f3491ab3d1ded5183c5b78eba00955a15e821 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Wed, 22 Feb 2023 18:53:35 +0100 Subject: [PATCH] refactor: getBranchStatus and tests (#20585) --- lib/modules/platform/azure/index.spec.ts | 7 ++++++- lib/modules/platform/azure/index.ts | 4 ++-- lib/modules/platform/bitbucket/index.spec.ts | 2 +- lib/modules/platform/gitlab/index.spec.ts | 5 ++++- lib/workers/repository/update/pr/index.ts | 7 +++---- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/modules/platform/azure/index.spec.ts b/lib/modules/platform/azure/index.spec.ts index f0cfcc003c..0767c3157b 100644 --- a/lib/modules/platform/azure/index.spec.ts +++ b/lib/modules/platform/azure/index.spec.ts @@ -569,7 +569,12 @@ describe('modules/platform/azure/index', () => { () => ({ getBranch: jest.fn(() => ({ commit: { commitId: 'abcd1234' } })), - getStatuses: jest.fn(() => [{ state: GitStatusState.Succeeded }]), + getStatuses: jest.fn(() => [ + { + state: GitStatusState.Succeeded, + context: { genre: 'renovate' }, + }, + ]), } as any) ); const res = await azure.getBranchStatus('somebranch'); diff --git a/lib/modules/platform/azure/index.ts b/lib/modules/platform/azure/index.ts index 39320768cc..e20acd9cf7 100644 --- a/lib/modules/platform/azure/index.ts +++ b/lib/modules/platform/azure/index.ts @@ -391,7 +391,7 @@ export async function getBranchStatus( return 'yellow'; } const noOfFailures = statuses.filter( - (status: GitStatus) => + (status) => status.state === GitStatusState.Error || status.state === GitStatusState.Failed ).length; @@ -399,7 +399,7 @@ export async function getBranchStatus( return 'red'; } const noOfPending = statuses.filter( - (status: GitStatus) => + (status) => status.state === GitStatusState.NotSet || status.state === GitStatusState.Pending ).length; diff --git a/lib/modules/platform/bitbucket/index.spec.ts b/lib/modules/platform/bitbucket/index.spec.ts index 2e8cd56de5..32a85c0b51 100644 --- a/lib/modules/platform/bitbucket/index.spec.ts +++ b/lib/modules/platform/bitbucket/index.spec.ts @@ -245,7 +245,7 @@ describe('modules/platform/bitbucket/index', () => { .reply(200, { values: [ { - key: 'foo', + key: 'renovate/stability-days', state: 'SUCCESSFUL', }, ], diff --git a/lib/modules/platform/gitlab/index.spec.ts b/lib/modules/platform/gitlab/index.spec.ts index 01335185bf..4a1fe03a7d 100644 --- a/lib/modules/platform/gitlab/index.spec.ts +++ b/lib/modules/platform/gitlab/index.spec.ts @@ -584,7 +584,10 @@ describe('modules/platform/gitlab/index', () => { .get( '/api/v4/projects/some%2Frepo/repository/commits/0d9c7726c3d628b7e28af234595cfd20febdbf8e/statuses' ) - .reply(200, [{ status: 'success' }, { status: 'success' }]) + .reply(200, [ + { context: 'renovate/stability-days', status: 'success' }, + { context: 'renovate/other', status: 'success' }, + ]) .get( '/api/v4/projects/some%2Frepo/merge_requests?per_page=100&scope=created_by_me' ) diff --git a/lib/workers/repository/update/pr/index.ts b/lib/workers/repository/update/pr/index.ts index 08e29f3aef..db1e0cbe92 100644 --- a/lib/workers/repository/update/pr/index.ts +++ b/lib/workers/repository/update/pr/index.ts @@ -97,16 +97,15 @@ function hasNotIgnoredReviewers(pr: Pr, config: BranchConfig): boolean { export async function ensurePr( prConfig: BranchConfig ): Promise<EnsurePrResult> { - const getBranchStatus = memoize(() => - resolveBranchStatus(branchName, ignoreTests) - ); - const config: BranchConfig = { ...prConfig }; const filteredPrConfig = generatePrFingerprintConfig(config); const prFingerprint = fingerprint(filteredPrConfig); logger.trace({ config }, 'ensurePr'); // If there is a group, it will use the config of the first upgrade in the array const { branchName, ignoreTests, prTitle = '', upgrades } = config; + const getBranchStatus = memoize(() => + resolveBranchStatus(branchName, ignoreTests) + ); const dependencyDashboardCheck = config.dependencyDashboardChecks?.[config.branchName]; // Check if PR already exists -- GitLab