diff --git a/lib/config/options/index.ts b/lib/config/options/index.ts index a87d3d8a916df7919dd4b6503d3194e500fc12bd..8310f685b9648187d0aa5be9f4fdbacc7df06293 100644 --- a/lib/config/options/index.ts +++ b/lib/config/options/index.ts @@ -52,6 +52,7 @@ const options: RenovateOptions[] = [ subType: 'string', globalOnly: true, patternMatch: true, + mergeable: true, }, { name: 'detectGlobalManagerConfig', diff --git a/lib/config/presets/internal/global.ts b/lib/config/presets/internal/global.ts new file mode 100644 index 0000000000000000000000000000000000000000..aaf331d81e69c5013bd789dd95386170bfefbd7b --- /dev/null +++ b/lib/config/presets/internal/global.ts @@ -0,0 +1,11 @@ +import type { Preset } from '../types'; + +/* eslint sort-keys: ["error", "asc", {caseSensitive: false, natural: true}] */ + +export const presets: Record<string, Preset> = { + safeEnv: { + allowedEnv: ['GO*'], + description: + 'Hopefully safe environment variables to allow users to configure.', + }, +}; diff --git a/lib/config/presets/internal/index.spec.ts b/lib/config/presets/internal/index.spec.ts index 1b978f01d0d2b4f36970069310563620ac7f3ca1..76f4d3572550e8aa723d9866899f0894f213f6b8 100644 --- a/lib/config/presets/internal/index.spec.ts +++ b/lib/config/presets/internal/index.spec.ts @@ -30,7 +30,8 @@ describe('config/presets/internal/index', () => { const config = await resolveConfigPresets( massageConfig(presetConfig), ); - const res = await validateConfig('repo', config, true); + const configType = groupName === 'global' ? 'global' : 'repo'; + const res = await validateConfig(configType, config, true); expect(res.errors).toHaveLength(0); expect(res.warnings).toHaveLength(0); } catch (err) { diff --git a/lib/config/presets/internal/index.ts b/lib/config/presets/internal/index.ts index e61f0d5a0a017b3f6cf82d3a45e51b3623696d66..d9ec8c4bdff8ba54619780a61146a91eb10b70e0 100644 --- a/lib/config/presets/internal/index.ts +++ b/lib/config/presets/internal/index.ts @@ -3,6 +3,7 @@ import * as configPreset from './config'; import * as customManagersPreset from './custom-managers'; import * as defaultPreset from './default'; import * as dockerPreset from './docker'; +import * as globalPreset from './global'; import * as groupPreset from './group'; import * as helpersPreset from './helpers'; import * as mergeConfidence from './merge-confidence'; @@ -22,6 +23,7 @@ export const groups: Record<string, Record<string, Preset>> = { customManagers: customManagersPreset.presets, default: defaultPreset.presets, docker: dockerPreset.presets, + global: globalPreset.presets, group: groupPreset.presets, helpers: helpersPreset.presets, mergeConfidence: mergeConfidence.presets, diff --git a/lib/config/presets/parse.ts b/lib/config/presets/parse.ts index 09ac031b26ce9ed183ee23f5e93b4c1d7f00a5a5..d81a7d9ac65f978971fc99743b87d07564ba11f4 100644 --- a/lib/config/presets/parse.ts +++ b/lib/config/presets/parse.ts @@ -57,6 +57,7 @@ export function parsePreset(input: string): ParsedPreset { 'customManagers', 'default', 'docker', + 'global', 'group', 'helpers', 'mergeConfidence',