Closed geerlingguy closed 4 years ago
Looking at the pip install molecule yamllint ansible-lint docker
earlier in the setup, I see:
cookiecutter 1.7.1 has requirement Jinja2<=2.11.0, but you'll have jinja2 2.11.2 which is incompatible.
cookiecutter 1.7.1 has requirement six>=1.14, but you'll have six 1.11.0 which is incompatible.
Now complaining about Jinja2:
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Jinja2 2.11.2 (/home/travis/virtualenv/python3.6.7/lib/python3.6/site-packages), Requirement.parse('Jinja2<=2.11.0'), {'cookiecutter'})
Might be related to cookiecutter's 1.7.1 release, which could spell doom for the rest of my CI jobs, since it seems cookiecutter is used by one of the things I install everywhere :(
https://github.com/cookiecutter/cookiecutter/commit/b943abfd50b005da06cf68314871019a6ec184c7
Cookiecutter dependency in molecule is constrained to cookiecutter >= 1.6.0
(see https://github.com/ansible-community/molecule/blob/c65488c4acb61fe2628b7f32e70b13998957a131/setup.cfg#L77).
Attempting to lock in 1.7.0 with pip install cookiecutter==1.7.0
prior to installing molecule...
That worked. So fix for now is to add before pip install molecule ansible-lint
, pip install cookiecutter==1.7.0
. Hopefully the dep resolution will be able to be fixed in cookiecutter though, or molecule can set it to be 'up to but not including 1.7.1'
Looks like this was fixed upstream in the cookiecutter project, woohoo! 1.7.2 release fixes the too-strict dependencies.
Failed build: https://travis-ci.org/github/geerlingguy/ansible-role-firewall/jobs/677476167