From 2cf897995b17832730e658b3d4a140c5c29b15ff Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 1 Nov 2021 19:39:56 +0100
Subject: [PATCH] fix(pip-compile): provide filename with cmd (#12433)

---
 .../pip-compile/__snapshots__/artifacts.spec.ts.snap   | 10 +++++-----
 lib/manager/pip-compile/artifacts.ts                   |  7 ++++---
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/lib/manager/pip-compile/__snapshots__/artifacts.spec.ts.snap b/lib/manager/pip-compile/__snapshots__/artifacts.spec.ts.snap
index ee186ca9e8..84fa937c6c 100644
--- a/lib/manager/pip-compile/__snapshots__/artifacts.spec.ts.snap
+++ b/lib/manager/pip-compile/__snapshots__/artifacts.spec.ts.snap
@@ -14,7 +14,7 @@ Array [
 exports[`manager/pip-compile/artifacts returns null if unchanged 1`] = `
 Array [
   Object {
-    "cmd": "pip-compile",
+    "cmd": "pip-compile requirements.in",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -37,7 +37,7 @@ Array [
 exports[`manager/pip-compile/artifacts returns updated requirements.txt 1`] = `
 Array [
   Object {
-    "cmd": "pip-compile",
+    "cmd": "pip-compile requirements.in",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -60,7 +60,7 @@ Array [
 exports[`manager/pip-compile/artifacts returns updated requirements.txt when doing lockfile maintenance 1`] = `
 Array [
   Object {
-    "cmd": "pip-compile",
+    "cmd": "pip-compile requirements.in",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -95,7 +95,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_python --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -w \\"/tmp/github/some/repo\\" renovate/python bash -l -c \\"pip install --user pip-tools && pip-compile\\"",
+    "cmd": "docker run --rm --name=renovate_python --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -w \\"/tmp/github/some/repo\\" renovate/python bash -l -c \\"pip install --user pip-tools && pip-compile requirements.in\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
@@ -130,7 +130,7 @@ Array [
     },
   },
   Object {
-    "cmd": "docker run --rm --name=renovate_python --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -w \\"/tmp/github/some/repo\\" renovate/python bash -l -c \\"pip install --user pip-tools1.2.3 && pip-compile\\"",
+    "cmd": "docker run --rm --name=renovate_python --label=renovate_child -v \\"/tmp/github/some/repo\\":\\"/tmp/github/some/repo\\" -v \\"/tmp/renovate/cache\\":\\"/tmp/renovate/cache\\" -w \\"/tmp/github/some/repo\\" renovate/python bash -l -c \\"pip install --user pip-tools1.2.3 && pip-compile requirements.in\\"",
     "options": Object {
       "cwd": "/tmp/github/some/repo",
       "encoding": "utf-8",
diff --git a/lib/manager/pip-compile/artifacts.ts b/lib/manager/pip-compile/artifacts.ts
index ecd23f1c79..c5809a31e6 100644
--- a/lib/manager/pip-compile/artifacts.ts
+++ b/lib/manager/pip-compile/artifacts.ts
@@ -1,5 +1,6 @@
 import is from '@sindresorhus/is';
-import { quote as pipCompile } from 'shlex';
+import { quote } from 'shlex';
+import { parse } from 'upath';
 import { TEMPORARY_ERROR } from '../../constants/error-messages';
 import { logger } from '../../logger';
 import { ExecOptions, exec } from '../../util/exec';
@@ -57,7 +58,7 @@ export async function updateArtifacts({
     if (config.isLockFileMaintenance) {
       await deleteLocalFile(outputFileName);
     }
-    const cmd = 'pip-compile';
+    const cmd = `pip-compile ${quote(parse(inputFileName).base)}`;
     const tagConstraint = getPythonConstraint(config);
     const pipToolsConstraint = getPipToolsConstraint(config);
     const execOptions: ExecOptions = {
@@ -67,7 +68,7 @@ export async function updateArtifacts({
         tagConstraint,
         tagScheme: 'pep440',
         preCommands: [
-          `pip install --user ${pipCompile(`pip-tools${pipToolsConstraint}`)}`,
+          `pip install --user ${quote(`pip-tools${pipToolsConstraint}`)}`,
         ],
       },
     };
-- 
GitLab