You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prelelease version of ansible-lint breaks new molecule installs
A prerelease version o# ansible-lint -v
Usage: ansible-lint [options] [playbook.yml [playbook2 ...]]|roledirectoryf ansible-lint was released https://pypi.org/project/ansible-lint/4.3.0a0/
$ pip install molecule[lint] is installing that prerelease because of
ansible-lint >= 4.1.1a2, < 5 in setup.cfg
because of that pip is concluding that a prerelease version of ansible-lint is OK.
But: there is a bug in ansible-lint 4.3.0a0 which is breaking CI ansible/ansible-lint#731
Much of my CI is broken.
Please use stable dependencies in stable molecule versions.
$ pip install molecule[lint] installs stable version of ansible-lint, running it without playbook or role as argument does not give usage message, e.g.
$ ansible-lint -v
Unknown file type: .github/workflows/CI.yml
Unknown file type: galaxy.yml
Unknown file type: roles/plugin/tasks/main.yml
Found roles: roles/plugin
Found playbooks: molecule/default/converge.yml molecule/default/verify.yml molecule/install_molecule.yml molecule/requirements.yml
Examining molecule/default/converge.yml of type playbook
Examining molecule/default/verify.yml of type playbook
Examining molecule/install_molecule.yml of type playbook
Examining molecule/requirements.yml of type playbook
Examining roles/plugin/tasks/main.yml of type tasks
Actual Behaviour
$ pip install molecule[lint] installs prerelease version of ansible-lint
@mafalb That sounds like pip behavior change because last time I checked using pre-release version as minimal version request did not enforce installation of another pre-release. Still, it will be very easy for your to make a PR that chages condition to >=4.0.0 and I will be happy to merge it.
However, I do not get that behaviour on all installations but I am not sure under exactly what conditions, it could be that it's only with python 3 (on a molecule install with python 2 on CentOS for instance I got ansible-lint 4.2.0, not the pre-release).
I am going to close this because there is nothing actionable about it. We will continue to use pre-release as long the linter does not move to a faster release cycle.
Also keep in mind that the stability of a pre-release varies a lot from one project to another. Mainly is better to use a working pre-release than a broken release.
Issue Type
Prelelease version of ansible-lint breaks new molecule installs
A prerelease version o# ansible-lint -v
Usage: ansible-lint [options] [playbook.yml [playbook2 ...]]|roledirectoryf ansible-lint was released
https://pypi.org/project/ansible-lint/4.3.0a0/
$ pip install molecule[lint]
is installing that prerelease because ofansible-lint >= 4.1.1a2, < 5
in setup.cfgbecause of that pip is concluding that a prerelease version of ansible-lint is OK.
But: there is a bug in ansible-lint 4.3.0a0 which is breaking CI
ansible/ansible-lint#731
Much of my CI is broken.
Please use stable dependencies in stable molecule versions.
Molecule and Ansible details
Molecule installation method (one of):
Ansible installation method (one of):
Detail any linters or test runners used:
Desired Behavior
$ pip install molecule[lint]
installs stable version of ansible-lint, running it without playbook or role as argument does not give usage message, e.g.Actual Behaviour
$ pip install molecule[lint]
installs prerelease version of ansible-lintThe text was updated successfully, but these errors were encountered: