diff --git a/lib/workers/repository/process/lookup/generate.ts b/lib/workers/repository/process/lookup/generate.ts index 21f6a3170cdbdf973b565c521d2fbd74e074d9c5..81c46edb3eed0e116582c5de32dbf8a4192fbe80 100644 --- a/lib/workers/repository/process/lookup/generate.ts +++ b/lib/workers/repository/process/lookup/generate.ts @@ -10,6 +10,7 @@ import { getUpdateType } from './update-type'; export async function generateUpdate( config: LookupUpdateConfig, + currentValue: string | undefined, versioning: VersioningApi, rangeStrategy: RangeStrategy, currentVersion: string, @@ -49,7 +50,6 @@ export async function generateUpdate( update.registryUrl = release.registryUrl; } - const { currentValue } = config; if (currentValue) { try { update.newValue = versioning.getNewValue({ diff --git a/lib/workers/repository/process/lookup/index.spec.ts b/lib/workers/repository/process/lookup/index.spec.ts index 3b0ea3fa6b33c49ad4f9d3c40bc989fbf8ca32c3..b36a452e43deb5aa9d12b803f8132d20492e6006 100644 --- a/lib/workers/repository/process/lookup/index.spec.ts +++ b/lib/workers/repository/process/lookup/index.spec.ts @@ -11,6 +11,7 @@ import { GithubTagsDatasource } from '../../../../modules/datasource/github-tags import { NpmDatasource } from '../../../../modules/datasource/npm'; import { PackagistDatasource } from '../../../../modules/datasource/packagist'; import { PypiDatasource } from '../../../../modules/datasource/pypi'; +import { id as debianVersioningId } from '../../../../modules/versioning/debian'; import { id as dockerVersioningId } from '../../../../modules/versioning/docker'; import { id as gitVersioningId } from '../../../../modules/versioning/git'; import { id as nodeVersioningId } from '../../../../modules/versioning/node'; @@ -1782,6 +1783,26 @@ describe('workers/repository/process/lookup/index', () => { }); }); + it('applies versionCompatibility for debian codenames with suffix', async () => { + config.currentValue = 'bullseye-slim'; + config.packageName = 'debian'; + config.versioning = debianVersioningId; + config.versionCompatibility = '^(?<version>[^-]+)(?<compatibility>-.*)?$'; + config.datasource = DockerDatasource.id; + getDockerReleases.mockResolvedValueOnce({ + releases: [ + { version: 'bullseye' }, + { version: 'bullseye-slim' }, + { version: 'bookworm' }, + { version: 'bookworm-slim' }, + ], + }); + const res = await lookup.lookupUpdates(config); + expect(res).toMatchObject({ + updates: [{ newValue: 'bookworm-slim', updateType: 'major' }], + }); + }); + it('handles digest pin for up to date version', async () => { config.currentValue = '8.1.0'; config.packageName = 'node'; diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index c8a5ed8be9b6fde729ec1578c3df605bfc928a71..9fd1f96a44b3e11c252b10eb458fa23e494a9dea 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -346,6 +346,7 @@ export async function lookupUpdates( const newVersion = release.version; const update = await generateUpdate( config, + compareValue, versioning, // TODO #22198