ansible / ansible-lint

ansible-lint checks playbooks for practices and behavior that could potentially be improved and can fix some of the most common ones for you
https://ansible.readthedocs.io/projects/lint/
GNU General Public License v3.0
3.47k stars 654 forks source link

ansible-lint doesn't work on python 3.13.0 due to ruamel-yaml dependency #4367

Closed gzm0 closed 5 days ago

gzm0 commented 5 days ago
Summary

ruamel-yaml-clib fails to compile under python 3.13.0, making the ansible-lint install fail.

Upstream: https://sourceforge.net/p/ruamel-yaml-clib/tickets/36/

Issue Type
OS / ENVIRONMENT
 git show
commit a3f8492505b60d4be2c9df973967dca436c0cfa4 (HEAD -> main, origin/main, origin/HEAD)
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Oct 9 06:37:30 2024 +0000

    Bump coactions/dynamic-matrix from 3 to 4 (#4363)

    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml
index 559ad7e6..8ac726db 100644
--- a/.github/workflows/tox.yml
+++ b/.github/workflows/tox.yml
@@ -26,7 +26,7 @@ jobs:
     steps:
       - name: Determine matrix
         id: generate_matrix
-        uses: coactions/dynamic-matrix@v3
+        uses: coactions/dynamic-matrix@v4
         with:
           min_python: "3.10"
           max_python: "3.12"
STEPS TO REPRODUCE
git clone git@github.com:ansible/ansible-lint.git
docker run --rm --volume ./ansible-lint:/ansible-lint -ti python:3.13.0 bash
pip install --upgrade pip
pip install -e '.[test]'       
// snip
  ERROR: Failed building wheel for ruamel-yaml-clib
Successfully built ansible-lint
Failed to build ruamel-yaml-clib
Desired Behavior

It is possible to install ansible-lint on python 3.13.0

Actual Behavior

Installing ansible-lint fails due to transitive dependencies.

Full output (of example above): https://gist.github.com/gzm0/bce80c029df091156e01bb478bb8cfd5

Qalthos commented 5 days ago

This is true, but not something we can actually do anything about. Until there is a release supporting 3.13 with all our dependencies, we will be unable to support 3.13

AvdN commented 1 day ago

this should be fixed with ruamel.yaml.clib 0.2.12, I will also look at the next ruamel.yaml not automatically relying on ruamel.yaml.clib to be installed, as the latter package is not used for the default round-trip loading