ansible-community / molecule-docker

🚧 Assimilated into molecule-plugins
https://github.com/ansible-community/molecule-plugins
MIT License
77 stars 39 forks source link

Latest release depends on an alpha version of molecule #29

Closed bendem closed 3 years ago

bendem commented 3 years ago

Same as https://github.com/ansible-community/molecule-vagrant/issues/82

https://github.com/ansible-community/molecule-docker/blob/4b6e677878dd0734c1f769fca28c9207e26560dd/setup.cfg#L67

ssbarnea commented 3 years ago

I am aware of this and it will remain like this until molecule will make a new release. If, for some reason, you cannot use the pre-release version of molecule, you can use requirement constraints to avoid it.

bendem commented 3 years ago

Right, but in the meantime, since molecule does not depend on specific versions of molecule-docker, pipenv install molecule[docker]==3.1.5 fails since it gets the latest molecule-docker which depends on a higher version of molecule. That's really broken. I fixed it with constraints, but it's a really weird dependency graph state to be in.

[dev-packages]
"molecule[lint]" = "==3.1.5"
"molecule-docker" = ">=0.2.4,!=0.3.3"
molecule-vagrant = ">=0.3,!=0.5"

#
# include ansible here, otherwise the latest version gets pulled in because version
# constraints are not shared across dev and runtime.
#                         - bendem
#
ansible = ">=2.9,<3,<2.10"

[packages]
ansible = ">=2.9,<3,<2.10"
passlib = ">=1.7,<1.8"
ssbarnea commented 3 years ago

I am afraid that you should raise this an upstream bug with pipenv. Both projects molecule and molecule-docker have CI/CD pipelines that verify installation (we run pip check after install).

In the end if "pip check" reports conflicts after the install, is no longer an issue of the packages themselves, instead being a problem of the package manager.

Anyway the issue will be sorted soon anyway as we will manage to mature 3.2 enough to make a release. At some point you may have to make a decision which one is the lesser evil: using molecule from pre-release or the pinning effort.

I would personally be happy to have someone new running "edge" versions, as we could catch more bugs early in the process.

FYI, 3.2 changes do not require user to change his molecule files, are more related to internal changes on the way we display the output.