What Renovate type are you using?
Renovate CLI (same issue using the docker image)
Describe the bug
renovate fails on repositories with a setup.py, because pip_setup/extract.py is not in the docker image or the npm package.
Did you see anything helpful in debug logs?
INFO: Initialising git repository into /tmp/renovate/repos/gitlab/kneipy/kneipy-core (repository=kneipy/kneipy-core)
INFO: git clone completed (repository=kneipy/kneipy-core)
"cloneSeconds": 0.5
INFO: Setting git author (repository=kneipy/kneipy-core)
"gitAuthor": {"name": "Renovate Bot", "email": "[email protected]"}
INFO: Repository config (repository=kneipy/kneipy-core)
"configFile": "renovate.json",
"config": {
"extends": ["config:base"],
"pipenv": {"enabled": true},
"pip_setup": {"enabled": true}
}
INFO: Found gitlabci package files (repository=kneipy/kneipy-core)
INFO: Running python via global command (repository=kneipy/kneipy-core)
WARN: File not found error when extracting setup.py. Ask your Renovate administrator to enable gitFs and try again (repository=kneipy/kneipy-core)
WARN: Failed to read setup.py file (repository=kneipy/kneipy-core)
"err": {
"name": "ChildProcessError",
"code": 2,
"childProcess": {},
"stdout": "",
"stderr": "python3.7: can't open file '/usr/src/app/dist/manager/pip_setup/extract.py': [Errno 2] No such file or directory\n",
"message": "Command failed: python3.7 /usr/src/app/dist/manager/pip_setup/extract.py setup.py\npython3.7: can't open file '/usr/src/app/dist/manager/pip_setup/extract.py': [Errno 2] No such file or directory\n `python3.7 /usr/src/app/dist/manager/pip_setup/extract.py setup.py` (exited with error code 2)",
"stack": "ChildProcessError: Command failed: python3.7 /usr/src/app/dist/manager/pip_setup/extract.py setup.py\npython3.7: can't open file '/usr/src/app/dist/manager/pip_setup/extract.py': [Errno 2] No such file or directory\n `python3.7 /usr/src/app/dist/manager/pip_setup/extract.py setup.py` (exited with error code 2)\n at callback (/usr/src/app/node_modules/child-process-promise/lib/index.js:33:27)\n at ChildProcess.exithandler (child_process.js:301:5)\n at ChildProcess.emit (events.js:189:13)\n at maybeClose (internal/child_process.js:970:16)\n at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)"
}
INFO: Processing 0 branches: (repository=kneipy/kneipy-core)
INFO: Finished repository (repository=kneipy/kneipy-core)
To Reproduce
Steps to reproduce the behavior:
setup.py-file (exampleExpected behavior
renovate successfully extracts dependencies
Additional context
I'm using Gitlab.
running curl -fL https://raw.githubusercontent.com/renovatebot/renovate/master/lib/manager/pip_setup/extract.py > node_modules/renovate/dist/manager/pip_setup/extract.py
after installing renovate fixes the problem.
@Delphinator thanks for raising this. This was caused when we switched to TypeScript compilation in v17.0.0. We need to make sure we don't miss out any non-JS/TS files.
@ViceIce we should work out how we can add a test to avoid this problem in future. i.e. non-JS/TS files in lib/ getting missed out in dist/
Maybe we can run an e2e on a prepared repo?
:tada: This issue has been resolved in version 17.2.5 :tada:
The release is available on:
Your semantic-release bot :package::rocket: