Skip to content
Snippets Groups Projects
Unverified Commit 5fc7bea2 authored by Sergio Zharinov's avatar Sergio Zharinov Committed by GitHub
Browse files

fix(limits): Count branches for prCreation having "non-pending" value (#7388)

parent 75737805
No related branches found
No related tags found
No related merge requests found
import { RenovateConfig, getConfig, mocked } from '../../../../test/util'; import { RenovateConfig, getConfig, git, mocked } from '../../../../test/util';
import * as _branchWorker from '../../branch'; import * as _branchWorker from '../../branch';
import { BranchConfig, ProcessBranchResult } from '../../common'; import { BranchConfig, ProcessBranchResult } from '../../common';
import * as _limits from './limits'; import * as _limits from './limits';
import { writeUpdates } from './write'; import { writeUpdates } from './write';
jest.mock('../../../util/git');
const branchWorker = mocked(_branchWorker); const branchWorker = mocked(_branchWorker);
const limits = mocked(_limits); const limits = mocked(_limits);
...@@ -25,6 +27,7 @@ describe('workers/repository/write', () => { ...@@ -25,6 +27,7 @@ describe('workers/repository/write', () => {
{ blockedByPin: true }, { blockedByPin: true },
{}, {},
] as never; ] as never;
git.branchExists.mockReturnValueOnce(false);
const res = await writeUpdates(config, branches); const res = await writeUpdates(config, branches);
expect(res).toEqual('done'); expect(res).toEqual('done');
expect(branchWorker.processBranch).toHaveBeenCalledTimes(2); expect(branchWorker.processBranch).toHaveBeenCalledTimes(2);
...@@ -37,6 +40,7 @@ describe('workers/repository/write', () => { ...@@ -37,6 +40,7 @@ describe('workers/repository/write', () => {
{}, {},
{}, {},
] as never; ] as never;
git.branchExists.mockReturnValue(true);
branchWorker.processBranch.mockResolvedValueOnce( branchWorker.processBranch.mockResolvedValueOnce(
ProcessBranchResult.PrCreated ProcessBranchResult.PrCreated
); );
......
import { RenovateConfig } from '../../../config'; import { RenovateConfig } from '../../../config';
import { addMeta, logger, removeMeta } from '../../../logger'; import { addMeta, logger, removeMeta } from '../../../logger';
import { branchExists } from '../../../util/git';
import { processBranch } from '../../branch'; import { processBranch } from '../../branch';
import { BranchConfig, ProcessBranchResult } from '../../common'; import { BranchConfig, ProcessBranchResult } from '../../common';
import { Limit, isLimitReached } from '../../global/limits'; import { Limit, isLimitReached } from '../../global/limits';
...@@ -33,6 +34,7 @@ export async function writeUpdates( ...@@ -33,6 +34,7 @@ export async function writeUpdates(
addMeta({ branch: branch.branchName }); addMeta({ branch: branch.branchName });
const prLimitReached = prsRemaining <= 0; const prLimitReached = prsRemaining <= 0;
const commitLimitReached = isLimitReached(Limit.Commits); const commitLimitReached = isLimitReached(Limit.Commits);
const branchExisted = branchExists(branch.branchName);
const res = await processBranch(branch, prLimitReached, commitLimitReached); const res = await processBranch(branch, prLimitReached, commitLimitReached);
branch.res = res; branch.res = res;
if ( if (
...@@ -54,6 +56,14 @@ export async function writeUpdates( ...@@ -54,6 +56,14 @@ export async function writeUpdates(
) { ) {
deductPrRemainingCount = 1; deductPrRemainingCount = 1;
} }
// istanbul ignore if
if (
res === ProcessBranchResult.Pending &&
!branchExisted &&
branchExists(branch.branchName)
) {
deductPrRemainingCount = 1;
}
prsRemaining -= deductPrRemainingCount; prsRemaining -= deductPrRemainingCount;
} }
removeMeta(['branch']); removeMeta(['branch']);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment