mirror of
https://github.com/renovatebot/renovate.git
synced 2025-01-12 23:16:26 +00:00
feat(presets/custom-managers): Add Makefile custom manager preset (#29713)
This commit is contained in:
parent
70badaa003
commit
3b56439860
2 changed files with 90 additions and 0 deletions
|
@ -515,6 +515,79 @@ describe('config/presets/internal/custom-managers', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('Update `_VERSION` variables in Makefiles', () => {
|
||||||
|
const customManager = presets['makefileVersions'].customManagers?.[0];
|
||||||
|
|
||||||
|
it(`find dependencies in file`, async () => {
|
||||||
|
const fileContent = codeBlock`
|
||||||
|
# renovate: datasource=node depName=node versioning=node
|
||||||
|
NODE_VERSION=18.13.0
|
||||||
|
# renovate: datasource=npm depName=pnpm
|
||||||
|
PNPM_VERSION = "7.25.1"
|
||||||
|
# renovate: datasource=npm depName=yarn
|
||||||
|
YARN_VERSION := '3.3.1'
|
||||||
|
# renovate: datasource=custom.hashicorp depName=consul
|
||||||
|
CONSUL_VERSION ?= 1.3.1
|
||||||
|
|
||||||
|
lint:
|
||||||
|
\tnpm install -g pnpm@$(PNPM_VERSION)
|
||||||
|
`;
|
||||||
|
|
||||||
|
const res = await extractPackageFile(
|
||||||
|
fileContent,
|
||||||
|
'gitlab-ci.yml',
|
||||||
|
customManager!,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(res?.deps).toMatchObject([
|
||||||
|
{
|
||||||
|
currentValue: '18.13.0',
|
||||||
|
datasource: 'node-version',
|
||||||
|
depName: 'node',
|
||||||
|
replaceString:
|
||||||
|
'# renovate: datasource=node depName=node versioning=node\nNODE_VERSION=18.13.0\n',
|
||||||
|
versioning: 'node',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
currentValue: '7.25.1',
|
||||||
|
datasource: 'npm',
|
||||||
|
depName: 'pnpm',
|
||||||
|
replaceString:
|
||||||
|
'# renovate: datasource=npm depName=pnpm\nPNPM_VERSION = "7.25.1"\n',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
currentValue: '3.3.1',
|
||||||
|
datasource: 'npm',
|
||||||
|
depName: 'yarn',
|
||||||
|
replaceString:
|
||||||
|
"# renovate: datasource=npm depName=yarn\nYARN_VERSION := '3.3.1'\n",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
currentValue: '1.3.1',
|
||||||
|
datasource: 'custom.hashicorp',
|
||||||
|
depName: 'consul',
|
||||||
|
replaceString:
|
||||||
|
'# renovate: datasource=custom.hashicorp depName=consul\nCONSUL_VERSION ?= 1.3.1\n',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('matches regexes patterns', () => {
|
||||||
|
it.each`
|
||||||
|
path | expected
|
||||||
|
${'Makefile'} | ${true}
|
||||||
|
${'makefile'} | ${true}
|
||||||
|
${'GNUMakefile'} | ${true}
|
||||||
|
${'sub/dir/Makefile'} | ${true}
|
||||||
|
${'versions.mk'} | ${true}
|
||||||
|
${'Dockerfile'} | ${false}
|
||||||
|
${'MakefileGenerator.ts'} | ${false}
|
||||||
|
`('$path', ({ path, expected }) => {
|
||||||
|
expect(regexMatches(path, customManager!.fileMatch)).toBe(expected);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('finds dependencies in pom.xml properties', () => {
|
describe('finds dependencies in pom.xml properties', () => {
|
||||||
const customManager = presets['mavenPropertyVersions'].customManagers?.[0];
|
const customManager = presets['mavenPropertyVersions'].customManagers?.[0];
|
||||||
|
|
||||||
|
|
|
@ -87,6 +87,23 @@ export const presets: Record<string, Preset> = {
|
||||||
],
|
],
|
||||||
description: 'Update `appVersion` value in Helm chart `Chart.yaml`.',
|
description: 'Update `appVersion` value in Helm chart `Chart.yaml`.',
|
||||||
},
|
},
|
||||||
|
makefileVersions: {
|
||||||
|
customManagers: [
|
||||||
|
{
|
||||||
|
customType: 'regex',
|
||||||
|
fileMatch: [
|
||||||
|
'(^|/)Makefile$',
|
||||||
|
'(^|/)makefile$',
|
||||||
|
'(^|/)GNUMakefile$',
|
||||||
|
'\\.mk$',
|
||||||
|
],
|
||||||
|
matchStrings: [
|
||||||
|
'# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\s]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:*\\??=\\s*["\']?(?<currentValue>.+?)["\']?\\s',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
description: 'Update `_VERSION` variables in Makefiles.',
|
||||||
|
},
|
||||||
mavenPropertyVersions: {
|
mavenPropertyVersions: {
|
||||||
customManagers: [
|
customManagers: [
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue