Skip to content

Commit

Permalink
feat(presets/workarounds): support `bellsoft/liberica-runtime-contain…
Browse files Browse the repository at this point in the history
…er` within Java LTS workaround (renovatebot#31071)
  • Loading branch information
mvitz committed Aug 28, 2024
1 parent a2b0f26 commit df4dbcc
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
31 changes: 31 additions & 0 deletions lib/config/presets/internal/workarounds.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,4 +172,35 @@ describe('config/presets/internal/workarounds', () => {
});
});
});

describe('javaLTSVersions', () => {
const preset = presets.javaLTSVersions;

describe('bellsoft/liberica-runtime-container', () => {
const packageRule = preset.packageRules![2];

const allowedVersions = packageRule.allowedVersions as string;
const allowedVersionsRe = regEx(
allowedVersions.substring(1, allowedVersions.length - 1),
);

it.each`
input | expected
${'jdk-11-slim-musl'} | ${true}
${'jdk-all-11-slim-musl'} | ${true}
${'jre-11-slim-musl'} | ${true}
${'jdk-17-glibc'} | ${true}
${'jdk-all-17-glibc'} | ${true}
${'jre-17-glibc'} | ${true}
${'jdk-21-crac-slim-glibc'} | ${true}
${'jdk-all-21-crac-slim-glibc'} | ${true}
${'jre-21-crac-slim-glibc'} | ${true}
${'jdk-22-crac-slim-glibc'} | ${false}
${'jdk-all-22-crac-slim-glibc'} | ${false}
${'jre-22-crac-slim-glibc'} | ${false}
`('allowedVersisons("$input") == "$expected"', ({ input, expected }) => {
expect(allowedVersionsRe.test(input)).toEqual(expected);
});
});
});
});
7 changes: 7 additions & 0 deletions lib/config/presets/internal/workarounds.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,13 @@ export const presets: Record<string, Preset> = {
versioning:
'regex:^(?<major>\\d+)?(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?([\\._+](?<build>(\\d\\.?)+)(LTS)?)?(-(?<compatibility>.*))?$',
},
{
allowedVersions: '/^(?:jdk|jdk-all|jre)-(?:8|11|17|21)(?:\\.|-|$)/',
description:
'Limit Java runtime versions to LTS releases. To receive all major releases add `workarounds:javaLTSVersions` to the `ignorePresets` array.',
matchDatasources: ['docker'],
matchPackageNames: ['bellsoft/liberica-runtime-container'],
},
],
},
k3sKubernetesVersioning: {
Expand Down

0 comments on commit df4dbcc

Please sign in to comment.