Skip to content

Commit

Permalink
fix: don’t error when baseBranches are not found (#7019)
Browse files Browse the repository at this point in the history
Log a warning when baseBranches are missing but otherwise just skip over and keep going.

Closes #6669
  • Loading branch information
rarkins committed Aug 18, 2020
1 parent eb2f2ea commit 3985953
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 79 deletions.
34 changes: 0 additions & 34 deletions lib/workers/repository/init/base.spec.ts

This file was deleted.

28 changes: 0 additions & 28 deletions lib/workers/repository/init/base.ts

This file was deleted.

4 changes: 0 additions & 4 deletions lib/workers/repository/init/index.spec.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
import { mocked } from '../../../../test/util';
import * as _apis from './apis';
import * as _base from './base';
import * as _config from './config';
import { initRepo } from '.';

jest.mock('../../../util/git');
jest.mock('../../../workers/repository/onboarding/branch');
jest.mock('../../../workers/repository/configured');
jest.mock('../../../workers/repository/init/apis');
jest.mock('../../../workers/repository/init/base');
jest.mock('../../../workers/repository/init/config');
jest.mock('../../../workers/repository/init/semantic');

const base = mocked(_base);
const apis = mocked(_apis);
const config = mocked(_config);

describe('workers/repository/init', () => {
describe('initRepo', () => {
it('runs', async () => {
base.checkBaseBranch.mockResolvedValue({});
apis.initApis.mockResolvedValue({} as never);
config.mergeRenovateConfig.mockResolvedValueOnce({});
const renovateConfig = await initRepo({});
Expand Down
2 changes: 0 additions & 2 deletions lib/workers/repository/init/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import { setBranchPrefix } from '../../../util/git';
import { checkIfConfigured } from '../configured';
import { checkOnboardingBranch } from '../onboarding/branch';
import { initApis } from './apis';
import { checkBaseBranch } from './base';
import { mergeRenovateConfig } from './config';
import { detectSemanticCommits } from './semantic';
import { detectVulnerabilityAlerts } from './vulnerability';
Expand All @@ -28,7 +27,6 @@ export async function initRepo(input: RenovateConfig): Promise<RenovateConfig> {
config = await checkOnboardingBranch(config);
config = await mergeRenovateConfig(config);
checkIfConfigured(config);
config = await checkBaseBranch(config);
await setBranchPrefix(config.branchPrefix);
config = await detectVulnerabilityAlerts(config);
// istanbul ignore if
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ exports[`workers/repository/process/index processRepo() processes baseBranches 1
Object {
"branchList": Array [
undefined,
undefined,
],
"branches": Array [
undefined,
undefined,
],
"packageFiles": undefined,
}
Expand Down
7 changes: 6 additions & 1 deletion lib/workers/repository/process/index.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { RenovateConfig, getConfig, mocked } from '../../../../test/util';
import { RenovateConfig, getConfig, git, mocked } from '../../../../test/util';
import * as _extractUpdate from './extract-update';
import { extractDependencies, updateRepo } from '.';

jest.mock('../../../util/git');
jest.mock('./extract-update');

const extract = mocked(_extractUpdate).extract;
Expand All @@ -21,6 +22,10 @@ describe('workers/repository/process/index', () => {
it('processes baseBranches', async () => {
extract.mockResolvedValue({} as never);
config.baseBranches = ['branch1', 'branch2'];
git.branchExists.mockResolvedValueOnce(false);
git.branchExists.mockResolvedValueOnce(true);
git.branchExists.mockResolvedValueOnce(false);
git.branchExists.mockResolvedValueOnce(true);
const res = await extractDependencies(config);
await updateRepo(config, res.branches, res.branchList);
expect(res).toMatchSnapshot();
Expand Down
23 changes: 15 additions & 8 deletions lib/workers/repository/process/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { RenovateConfig, mergeChildConfig } from '../../../config';
import { logger } from '../../../logger';
import { PackageFile } from '../../../manager/common';
import { platform } from '../../../platform';
import { branchExists } from '../../../util/git';
import { addSplit } from '../../../util/split';
import { BranchConfig } from '../../common';
import { ExtractResult, extract, lookup, update } from './extract-update';
Expand Down Expand Up @@ -69,17 +70,23 @@ export async function extractDependencies(
logger.debug({ baseBranches: config.baseBranches }, 'baseBranches');
const extracted: Record<string, Record<string, PackageFile[]>> = {};
for (const baseBranch of config.baseBranches) {
const baseBranchConfig = await setBaseBranch(baseBranch, config);
extracted[baseBranch] = await extract(baseBranchConfig);
if (await branchExists(baseBranch)) {
const baseBranchConfig = await setBaseBranch(baseBranch, config);
extracted[baseBranch] = await extract(baseBranchConfig);
} else {
logger.warn({ baseBranch }, 'Base branch does not exist - skipping');
}
}
addSplit('extract');
for (const baseBranch of config.baseBranches) {
const baseBranchConfig = await setBaseBranch(baseBranch, config);
const packageFiles = extracted[baseBranch];
const baseBranchRes = await lookup(baseBranchConfig, packageFiles);
res.branches = res.branches.concat(baseBranchRes?.branches);
res.branchList = res.branchList.concat(baseBranchRes?.branchList);
res.packageFiles = res.packageFiles || baseBranchRes?.packageFiles; // Use the first branch
if (await branchExists(baseBranch)) {
const baseBranchConfig = await setBaseBranch(baseBranch, config);
const packageFiles = extracted[baseBranch];
const baseBranchRes = await lookup(baseBranchConfig, packageFiles);
res.branches = res.branches.concat(baseBranchRes?.branches);
res.branchList = res.branchList.concat(baseBranchRes?.branchList);
res.packageFiles = res.packageFiles || baseBranchRes?.packageFiles; // Use the first branch
}
}
} else {
logger.debug('No baseBranches');
Expand Down

0 comments on commit 3985953

Please sign in to comment.