diff --git a/lib/config/presets/internal/workarounds.spec.ts b/lib/config/presets/internal/workarounds.spec.ts new file mode 100644 index 00000000000000..1cc42df3de80e3 --- /dev/null +++ b/lib/config/presets/internal/workarounds.spec.ts @@ -0,0 +1,25 @@ +import { regEx } from '../../../util/regex'; +import { presets } from './workarounds'; + +describe('config/presets/internal/workarounds', () => { + describe('bitnamiDockerImageVersioning', () => { + const versioning = presets.bitnamiDockerImageVersioning.packageRules![0] + .versioning as string; + const re = regEx(versioning.substring(6)); + + it.each` + input | expected + ${'latest'} | ${false} + ${'20'} | ${true} + ${'20-debian'} | ${false} + ${'20-debian-12'} | ${true} + ${'1.24'} | ${true} + ${'1.24-debian-12'} | ${true} + ${'1.24.0'} | ${true} + ${'1.24.0-debian-12'} | ${true} + ${'1.24.0-debian-12-r24'} | ${true} + `('matches("$input") == "$expected"', ({ input, expected }) => { + expect(re.test(input)).toEqual(expected); + }); + }); +}); diff --git a/lib/config/presets/internal/workarounds.ts b/lib/config/presets/internal/workarounds.ts index 23fd345e915930..b5ad63ecb631f3 100644 --- a/lib/config/presets/internal/workarounds.ts +++ b/lib/config/presets/internal/workarounds.ts @@ -30,9 +30,13 @@ export const presets: Record = { packageRules: [ { matchDatasources: ['docker'], - matchPackagePrefixes: ['gcr.io/bitnami-containers/', 'bitnami/'], + matchPackagePrefixes: [ + 'bitnami/', + 'docker.io/bitnami/', + 'gcr.io/bitnami-containers/', + ], versioning: - 'regex:^(?\\d+)\\.(?\\d+)\\.(?\\d+)(:?-(?.+)-(?\\d+)(?:-r(?\\d+))?)?$', + 'regex:^(?\\d+)(?:\\.(?\\d+)(?:\\.(?\\d+))?)?(:?-(?.+)-(?\\d+)(?:-r(?\\d+))?)?$', }, ], },