Page MenuHomePhabricator

[tbs] python repos not able to run isort pre-commit hook
Closed, ResolvedPublic

Description

Running pre-commit on any of our repos currently fails with:

dcaro@vulcanus$ pre-commit run --all-files
[INFO] Installing environment for https://github.com/PyCQA/isort.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/home/dcaro/.cache/pre-commit/reporj2zlm63/py_env-python3/bin/python', '-mpip', 'install', '.', 'toml')
return code: 1
stdout:
    Processing /home/dcaro/.cache/pre-commit/reporj2zlm63
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'error'

stderr:
      error: subprocess-exited-with-error

      × Preparing metadata (pyproject.toml) did not run successfully.
      │ exit code: 1
      ╰─> [17 lines of output]
          Traceback (most recent call last):
            File "/home/dcaro/.cache/pre-commit/reporj2zlm63/py_env-python3/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
              main()
            File "/home/dcaro/.cache/pre-commit/reporj2zlm63/py_env-python3/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
              json_out['return_val'] = hook(**hook_input['kwargs'])
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/home/dcaro/.cache/pre-commit/reporj2zlm63/py_env-python3/lib/python3.11/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 152, in prepare_metadata_for_build_wheel
              return hook(metadata_directory, config_settings)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/tmp/pip-build-env-_t34y0ha/overlay/lib/python3.11/site-packages/poetry/core/masonry/api.py", line 40, in prepare_metadata_for_build_wheel
              poetry = Factory().create_poetry(Path(".").resolve(), with_groups=False)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            File "/tmp/pip-build-env-_t34y0ha/overlay/lib/python3.11/site-packages/poetry/core/factory.py", line 57, in create_poetry
              raise RuntimeError("The Poetry configuration is invalid:\n" + message)
          RuntimeError: The Poetry configuration is invalid:
            - [extras.pipfile_deprecated_finder.2] 'pip-shims<=0.3.4' does not match '^[a-zA-Z-_.0-9]+$'

          [end of output]

      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: metadata-generation-failed

    × Encountered error while generating package metadata.
    ╰─> See above for output.

    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.

This is related to a bug introduced in isort and fixed in the 5.12.0 version.

This task is to upgrade the pre-commit hooks on all the build service repos (pre-commit autoupdate).

Event Timeline

Change 887968 had a related patch set uploaded (by David Caro; author: David Caro):

[cloud/toolforge/toolforge-cli@main] Upgrade pre-commit hooks

https://gerrit.wikimedia.org/r/887968

It's not that simple, due to our CI running buster (python 3.7), we can't upgrade isort to >=5.12, so has to be upgraded to the backported version 5.11.2

Change 887968 merged by jenkins-bot:

[cloud/toolforge/toolforge-cli@main] Upgrade pre-commit hooks, using latest isort 5.11.*

https://gerrit.wikimedia.org/r/887968

dcaro changed the task status from Open to In Progress.Feb 14 2023, 1:32 PM
dcaro closed this task as Resolved.
dcaro moved this task from Backlog to In progress on the cloud-services-team (FY2022/2023-Q3) board.
dcaro moved this task from In progress to Done on the cloud-services-team (FY2022/2023-Q3) board.
dcaro moved this task from In Review to Done on the Toolforge Build Service (Iteration 10) board.