Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ruamel.yaml.clib 0.2.8 breaks the hook #54

Open
dvarrazzo opened this issue Oct 4, 2023 · 2 comments
Open

ruamel.yaml.clib 0.2.8 breaks the hook #54

dvarrazzo opened this issue Oct 4, 2023 · 2 comments

Comments

@dvarrazzo
Copy link

This config:

/src # cat .pre-commit-config.yaml 
repos:
  - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
    rev: 0.2.3
    hooks:
      - id: yamlfmt
        args: [--mapping, "2", --sequence, "4", --offset, "2", --implicit_start, --preserve-quotes]

started failing recently with the following error, in a docker image that doesn't have a compiler:

/src # pre-commit run -a
[INFO] Initializing environment for https://github.com/jumanjihouse/pre-commit-hook-yamlfmt.

[INFO] Installing environment for https://github.com/jumanjihouse/pre-commit-hook-yamlfmt.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/root/.cache/pre-commit/repoqe2uup23/py_env-python3.10/bin/python', '-mpip', 'install', '.')
return code: 1
expected return code: 0
stdout:
    Processing /root/.cache/pre-commit/repoqe2uup23
      Preparing metadata (setup.py): started
      Preparing metadata (setup.py): finished with status 'done'
    Collecting ruamel.yaml<=0.17.21,>=0.16.10
      Using cached ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
    Collecting ruamel.yaml.clib>=0.2.6
      Using cached ruamel.yaml.clib-0.2.8.tar.gz (213 kB)
      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 'done'
    Building wheels for collected packages: yamlfmt, ruamel.yaml.clib
      Building wheel for yamlfmt (setup.py): started
      Building wheel for yamlfmt (setup.py): finished with status 'done'
      Created wheel for yamlfmt: filename=yamlfmt-0.0.0-py3-none-any.whl size=3676 sha256=99f22f651364bb144b5a6102e6ae63f7eb2e7689a86a538ea90f40673494fc15
      Stored in directory: /tmp/pip-ephem-wheel-cache-207pj1w7/wheels/1e/76/19/b716d6907ed8957038ab893ad923597a246cf9974f5bb2acf5
      Building wheel for ruamel.yaml.clib (pyproject.toml): started
      Building wheel for ruamel.yaml.clib (pyproject.toml): finished with status 'error'
    Successfully built yamlfmt
    Failed to build ruamel.yaml.clib
    
stderr:
      ERROR: Command errored out with exit status 1:
       command: /root/.cache/pre-commit/repoqe2uup23/py_env-python3.10/bin/python /root/.cache/pre-commit/repoqe2uup23/py_env-python3.10/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp8z9rfm4a
           cwd: /tmp/pip-install-8hfum2w8/ruamel-yaml-clib_9987d0789bba4cf09cb30210c3e77a7b
      Complete output (16 lines):
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/ruamel
      creating build/lib.linux-x86_64-cpython-310/ruamel/yaml
      creating build/lib.linux-x86_64-cpython-310/ruamel/yaml/clib
      copying ./__init__.py -> build/lib.linux-x86_64-cpython-310/ruamel/yaml/clib
      copying ./setup.py -> build/lib.linux-x86_64-cpython-310/ruamel/yaml/clib
      copying ./LICENSE -> build/lib.linux-x86_64-cpython-310/ruamel/yaml/clib
      running build_ext
      building '_ruamel_yaml' extension
      creating build/temp.linux-x86_64-cpython-310
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/root/.cache/pre-commit/repoqe2uup23/py_env-python3.10/include -I/usr/local/include/python3.10 -c _ruamel_yaml.c -o build/temp.linux-x86_64-cpython-310/_ruamel_yaml.o
      error: command 'gcc' failed: No such file or directory
      ----------------------------------------
      ERROR: Failed building wheel for ruamel.yaml.clib
    ERROR: Could not build wheels for ruamel.yaml.clib, which is required to install pyproject.toml-based projects

Forcing installation of 0.2.7 fixes the issue:

/src # cat constraint.txt 
ruamel.yaml.clib<=0.2.7

/src # PIP_CONSTRAINT=`pwd`/constraint.txt pre-commit run -a
[INFO] Installing environment for https://github.com/jumanjihouse/pre-commit-hook-yamlfmt.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
Format YAML files........................................................Passed
/src # cat .pre-commit-config.yaml 
@Aricg
Copy link

Aricg commented Oct 4, 2023

new version dropped yesterday
https://pypi.org/project/ruamel.yaml.clib/#history

@dvarrazzo
Copy link
Author

dvarrazzo commented Oct 4, 2023

For better context (still looking into this), the job was running in an image based on a relatively old version of Python-alpine; as such there might be a failure our side in using the wheel binary package that the project makes available.

Using a libc-based base image worked around the issue so far.

Feel free to close if you think there is nothing to fix. Thank you very much :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants