diff --git a/lib/workers/repository/onboarding/branch/config.spec.ts b/lib/workers/repository/onboarding/branch/config.spec.ts index 7a7726b7bea145330b2e47c5820fa9a17c1aab9e..3b4aee3773a9058e76cae004252fcd4d987d8cde 100644 --- a/lib/workers/repository/onboarding/branch/config.spec.ts +++ b/lib/workers/repository/onboarding/branch/config.spec.ts @@ -1,9 +1,9 @@ import { RenovateConfig, getConfig } from '../../../../../test/util'; -import * as presets from '../../../../config/presets'; +import * as presets from '../../../../config/presets/local'; import { PRESET_DEP_NOT_FOUND } from '../../../../config/presets/util'; import { getOnboardingConfig } from './config'; -jest.mock('../../../../config/presets'); +jest.mock('../../../../config/presets/local'); const mockedPresets = presets as jest.Mocked<typeof presets>; @@ -52,5 +52,13 @@ describe('workers/repository/onboarding/branch', () => { expect(mockedPresets.getPreset).toHaveBeenCalledTimes(2); expect(JSON.parse(onboardingConfig)).toEqual(config.onboardingConfig); }); + it('ignores unsupported platform', async () => { + mockedPresets.getPreset.mockRejectedValue( + new Error(`Unsupported platform 'dummy' for local preset.`) + ); + onboardingConfig = await getOnboardingConfig(config); + expect(mockedPresets.getPreset).toHaveBeenCalledTimes(2); + expect(JSON.parse(onboardingConfig)).toEqual(config.onboardingConfig); + }); }); }); diff --git a/lib/workers/repository/onboarding/branch/config.ts b/lib/workers/repository/onboarding/branch/config.ts index aab3ba974366e618755373b85a7d16a3af6f7ab2..a21b40ff44d16de00e7b5eb5a4acab67f144021b 100644 --- a/lib/workers/repository/onboarding/branch/config.ts +++ b/lib/workers/repository/onboarding/branch/config.ts @@ -1,5 +1,5 @@ import { RenovateConfig } from '../../../../config'; -import { getPreset } from '../../../../config/presets'; +import { getPreset } from '../../../../config/presets/local'; import { PRESET_DEP_NOT_FOUND } from '../../../../config/presets/util'; import { logger } from '../../../../logger'; import { clone } from '../../../../util/clone'; @@ -19,11 +19,14 @@ export async function getOnboardingConfig( // Check for org/renovate-config try { - const orgRenovateConfig = `local>${orgName}/renovate-config`; - await getPreset(orgRenovateConfig, config); - orgPreset = orgRenovateConfig; + const packageName = `${orgName}/renovate-config`; + await getPreset({ packageName, baseConfig: config }); + orgPreset = `local>${packageName}`; } catch (err) { - if (err.message !== PRESET_DEP_NOT_FOUND) { + if ( + err.message !== PRESET_DEP_NOT_FOUND && + !err.message.startsWith('Unsupported platform') + ) { logger.warn({ err }, 'Unknown error fetching default owner preset'); } } @@ -31,11 +34,19 @@ export async function getOnboardingConfig( if (!orgPreset) { // Check for org/.{{platform}} try { - const orgDotPlatformConfig = `local>${orgName}/.${config.platform}:renovate-config`; - await getPreset(orgDotPlatformConfig, config); - orgPreset = orgDotPlatformConfig; + const packageName = `${orgName}/.${config.platform}`; + const presetName = 'renovate-config'; + await getPreset({ + packageName, + presetName, + baseConfig: config, + }); + orgPreset = `local>${packageName}:${presetName}`; } catch (err) { - if (err.message !== PRESET_DEP_NOT_FOUND) { + if ( + err.message !== PRESET_DEP_NOT_FOUND && + !err.message.startsWith('Unsupported platform') + ) { logger.warn({ err }, 'Unknown error fetching default owner preset'); } }