Closed bendem closed 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.
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"
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.
Same as https://github.com/ansible-community/molecule-vagrant/issues/82
https://github.com/ansible-community/molecule-docker/blob/4b6e677878dd0734c1f769fca28c9207e26560dd/setup.cfg#L67