diff --git a/lib/modules/manager/pip_requirements/artifacts.spec.ts b/lib/modules/manager/pip_requirements/artifacts.spec.ts index d82910c9df68d715a44900a268ea76416b80a085..052dabf077bf124357a213fa88c86000c23d69a2 100644 --- a/lib/modules/manager/pip_requirements/artifacts.spec.ts +++ b/lib/modules/manager/pip_requirements/artifacts.spec.ts @@ -23,7 +23,9 @@ const adminConfig: RepoGlobalConfig = { containerbaseDir: join('/tmp/renovate/cache/containerbase'), }; -const config: UpdateArtifactsConfig = { constraints: { python: '3.10.2' } }; +const config: UpdateArtifactsConfig = { + constraints: { python: '3.10.2', hashin: '0.17.0' }, +}; /* * Sample package file content that exhibits dependencies with and without @@ -231,7 +233,7 @@ describe('modules/manager/pip_requirements/artifacts', () => { 'bash -l -c "' + 'install-tool python 3.10.2 ' + '&& ' + - 'install-tool hashin 0.1.7 ' + + 'install-tool hashin 0.17.0 ' + '&& ' + 'hashin atomicwrites==1.4.0 -r requirements.txt' + '"', @@ -266,7 +268,7 @@ describe('modules/manager/pip_requirements/artifacts', () => { ]); expect(execSnapshots).toMatchObject([ { cmd: 'install-tool python 3.10.2' }, - { cmd: 'install-tool hashin 0.1.7' }, + { cmd: 'install-tool hashin 0.17.0' }, { cmd: 'hashin atomicwrites==1.4.0 -r requirements.txt', options: { cwd: '/tmp/github/some/repo' }, diff --git a/lib/modules/manager/pip_requirements/artifacts.ts b/lib/modules/manager/pip_requirements/artifacts.ts index d1c92e7f5351bfb6e7470f80a130a15ffd45e624..82053e6ea0790909507c6f4016dc6bd9581d0c45 100644 --- a/lib/modules/manager/pip_requirements/artifacts.ts +++ b/lib/modules/manager/pip_requirements/artifacts.ts @@ -71,7 +71,7 @@ export async function updateArtifacts({ docker: {}, toolConstraints: [ { toolName: 'python', constraint: config.constraints?.python }, - { toolName: 'hashin' }, + { toolName: 'hashin', constraint: config.constraints?.hashin }, ], extraEnv: { PIP_CACHE_DIR: await ensureCacheDir('pip'), diff --git a/lib/modules/manager/pipenv/__snapshots__/artifacts.spec.ts.snap b/lib/modules/manager/pipenv/__snapshots__/artifacts.spec.ts.snap index d08dc91b55db394cc70034427e98ec0803700621..396bc4f6f501643a7e4da7f4e4658a691f0c6af7 100644 --- a/lib/modules/manager/pipenv/__snapshots__/artifacts.spec.ts.snap +++ b/lib/modules/manager/pipenv/__snapshots__/artifacts.spec.ts.snap @@ -111,7 +111,7 @@ exports[`modules/manager/pipenv/artifacts supports docker mode 1`] = ` }, }, { - "cmd": "docker run --rm --name=renovate_sidecar --label=renovate_child -v "/tmp/github/some/repo":"/tmp/github/some/repo" -v "/tmp/renovate/cache":"/tmp/renovate/cache" -e PIPENV_CACHE_DIR -e PIP_CACHE_DIR -e CONTAINERBASE_CACHE_DIR -w "/tmp/github/some/repo" ghcr.io/containerbase/sidecar bash -l -c "install-tool python 3.7.6 && install-tool pipenv 2023.1.2 && pipenv lock"", + "cmd": "docker run --rm --name=renovate_sidecar --label=renovate_child -v "/tmp/github/some/repo":"/tmp/github/some/repo" -v "/tmp/renovate/cache":"/tmp/renovate/cache" -e PIPENV_CACHE_DIR -e PIP_CACHE_DIR -e CONTAINERBASE_CACHE_DIR -w "/tmp/github/some/repo" ghcr.io/containerbase/sidecar bash -l -c "install-tool python 3.7.6 && install-tool pipenv 2013.6.12 && pipenv lock"", "options": { "cwd": "/tmp/github/some/repo", "encoding": "utf-8", diff --git a/lib/modules/manager/pipenv/artifacts.spec.ts b/lib/modules/manager/pipenv/artifacts.spec.ts index 059f7fd61916a6de1427ff913ad39ef57d4bfaec..943c607c14c518b358c4a20fcb16cbe03a6da79c 100644 --- a/lib/modules/manager/pipenv/artifacts.spec.ts +++ b/lib/modules/manager/pipenv/artifacts.spec.ts @@ -77,6 +77,15 @@ describe('modules/manager/pipenv/artifacts', () => { { version: '3.10.2' }, ], }); + + // pipenv + getPkgReleases.mockResolvedValueOnce({ + releases: [ + { version: '2013.5.19' }, + { version: '2013.6.11' }, + { version: '2013.6.12' }, + ], + }); }); it('returns if no Pipfile.lock found', async () => { @@ -209,7 +218,7 @@ describe('modules/manager/pipenv/artifacts', () => { ).not.toBeNull(); expect(execSnapshots).toMatchObject([ { cmd: 'install-tool python 3.7.6' }, - { cmd: 'install-tool pipenv 2023.1.2' }, + { cmd: 'install-tool pipenv 2013.6.12' }, { cmd: 'pipenv lock', options: { cwd: '/tmp/github/some/repo' } }, ]); }); diff --git a/lib/util/exec/containerbase.spec.ts b/lib/util/exec/containerbase.spec.ts index 40e1bea053e39dd52b16eede40176ccdf38ff33a..0f73c6f74b053aa01530170fb9b518c3006a3f9f 100644 --- a/lib/util/exec/containerbase.spec.ts +++ b/lib/util/exec/containerbase.spec.ts @@ -163,6 +163,15 @@ describe('util/exec/containerbase', () => { ).toBe(expected); }, ); + + it('removes pep440 ==', async () => { + expect( + await resolveConstraint({ + toolName: 'pipenv', + constraint: '==2020.8.13', + }), + ).toBe('2020.8.13'); + }); }); describe('generateInstallCommands()', () => {