From c57bb612940831e1b6be29c1a86affe05bb92fee Mon Sep 17 00:00:00 2001 From: Nils Plaschke <Chumper@users.noreply.github.com> Date: Wed, 28 Oct 2020 06:17:35 +0100 Subject: [PATCH] fix: sampleSize: 0 does not add assignees/reviewers (#7579) --- lib/workers/pr/index.spec.ts | 11 +++++++++++ lib/workers/pr/index.ts | 28 ++++++++++++++++------------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lib/workers/pr/index.spec.ts b/lib/workers/pr/index.spec.ts index 988e78d1d7..20622c50c1 100644 --- a/lib/workers/pr/index.spec.ts +++ b/lib/workers/pr/index.spec.ts @@ -479,6 +479,17 @@ describe('workers/pr', () => { expect(reviewers).toHaveLength(2); expect(config.reviewers).toEqual(expect.arrayContaining(reviewers)); }); + it('should not add any assignees or reviewers to new PR', async () => { + config.assignees = ['foo', 'bar', 'baz']; + config.assigneesSampleSize = 0; + config.reviewers = ['baz', 'boo', 'bor']; + config.reviewersSampleSize = 0; + const { prResult, pr } = await prWorker.ensurePr(config); + expect(prResult).toEqual(PrResult.Created); + expect(pr).toMatchObject({ displayNumber: 'New Pull Request' }); + expect(platform.addAssignees).toHaveBeenCalledTimes(0); + expect(platform.addReviewers).toHaveBeenCalledTimes(0); + }); it('should add and deduplicate additionalReviewers on new PR', async () => { config.reviewers = ['@foo', 'bar']; config.additionalReviewers = ['bar', 'baz', '@boo']; diff --git a/lib/workers/pr/index.ts b/lib/workers/pr/index.ts index 3030ed6501..48fa68186e 100644 --- a/lib/workers/pr/index.ts +++ b/lib/workers/pr/index.ts @@ -48,12 +48,14 @@ export async function addAssigneesReviewers( if (config.assigneesSampleSize !== null) { assignees = sampleSize(assignees, config.assigneesSampleSize); } - // istanbul ignore if - if (config.dryRun) { - logger.info(`DRY-RUN: Would add assignees to PR #${pr.number}`); - } else { - await platform.addAssignees(pr.number, assignees); - logger.debug({ assignees }, 'Added assignees'); + if (assignees.length > 0) { + // istanbul ignore if + if (config.dryRun) { + logger.info(`DRY-RUN: Would add assignees to PR #${pr.number}`); + } else { + await platform.addAssignees(pr.number, assignees); + logger.debug({ assignees }, 'Added assignees'); + } } } catch (err) { logger.debug( @@ -78,12 +80,14 @@ export async function addAssigneesReviewers( if (config.reviewersSampleSize !== null) { reviewers = sampleSize(reviewers, config.reviewersSampleSize); } - // istanbul ignore if - if (config.dryRun) { - logger.info(`DRY-RUN: Would add reviewers to PR #${pr.number}`); - } else { - await platform.addReviewers(pr.number, reviewers); - logger.debug({ reviewers }, 'Added reviewers'); + if (reviewers.length > 0) { + // istanbul ignore if + if (config.dryRun) { + logger.info(`DRY-RUN: Would add reviewers to PR #${pr.number}`); + } else { + await platform.addReviewers(pr.number, reviewers); + logger.debug({ reviewers }, 'Added reviewers'); + } } } catch (err) { logger.debug( -- GitLab