Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package molecule for openSUSE:Factory checked in at 2023-06-27 23:16:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/molecule (Old) and /work/SRC/openSUSE:Factory/.molecule.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "molecule" Tue Jun 27 23:16:29 2023 rev:5 rq:1095452 version:5.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/molecule/molecule.changes 2023-05-23 15:42:54.467616696 +0200 +++ /work/SRC/openSUSE:Factory/.molecule.new.15902/molecule.changes 2023-06-27 23:16:43.735413595 +0200 @@ -1,0 +2,18 @@ +Mon Jun 26 05:10:13 UTC 2023 - Johannes Kastl <ka...@b1-systems.de> + +- remove fix_ansible_compat.patch that is no longer needed +- update to 5.1.0: + * Minor Changes + - Ensure external drivers are installed (#3901) @apatard + - Update dependency doc (#3916) @zhan9san + - Improve documentation for upgrade scenario (#3899) @fauust + * Bugfixes + - Fix documentation links (#3940) @ssbarnea + - Fix quoted strings templating (#3911) @samiam + - Adds Support for Shell Type Instance Param to Delegated + Driver (#3932) @zollo + - Fix dead link in documentation (#3923) @rtakasuke + - Use backwards incompatible change from ansible-compat 4.0.1 + (#3904) @asmacdo + +------------------------------------------------------------------- Old: ---- fix_ansible_compat.patch molecule-5.0.1.tar.gz New: ---- molecule-5.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ molecule.spec ++++++ --- /var/tmp/diff_new_pack.ZvNiAX/_old 2023-06-27 23:16:44.483417996 +0200 +++ /var/tmp/diff_new_pack.ZvNiAX/_new 2023-06-27 23:16:44.491418043 +0200 @@ -39,14 +39,13 @@ %bcond_without test Name: molecule -Version: 5.0.1 +Version: 5.1.0 Release: 0 Summary: Aids in the development and testing of Ansible roles License: MIT URL: https://github.com/ansible-community/molecule Source: https://files.pythonhosted.org/packages/source/m/molecule/molecule-%{version}.tar.gz # Taken from upstream PR https://github.com/ansible-community/molecule/pull/3904 -Patch0: fix_ansible_compat.patch BuildRequires: python-rpm-macros BuildRequires: %{ansible_python}-pip BuildRequires: %{ansible_python}-setuptools @@ -104,7 +103,6 @@ %prep %setup -q -n molecule-%{version} -%patch0 -p1 %build %pyproject_wheel ++++++ molecule-5.0.1.tar.gz -> molecule-5.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.config/requirements-docs.txt new/molecule-5.1.0/.config/requirements-docs.txt --- old/molecule-5.0.1/.config/requirements-docs.txt 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.config/requirements-docs.txt 2023-06-23 17:19:28.000000000 +0200 @@ -1,2 +1,3 @@ mkdocs-ansible[lock]>=0.1.4 pipdeptree>=2.4.0 +linkchecker diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.config/requirements-lock.txt new/molecule-5.1.0/.config/requirements-lock.txt --- old/molecule-5.0.1/.config/requirements-lock.txt 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.config/requirements-lock.txt 2023-06-23 17:19:28.000000000 +0200 @@ -4,7 +4,7 @@ # # pip-compile --no-annotate --output-file=.config/requirements-lock.txt --resolver=backtracking --strip-extras --unsafe-package=ruamel-yaml-clib pyproject.toml # -ansible-compat==3.0.2 +ansible-compat==4.1.2 ansible-core==2.14.4 arrow==1.2.3 attrs==23.1.0 @@ -16,7 +16,7 @@ click==8.1.3 click-help-colors==0.9.1 cookiecutter==2.1.1 -cryptography==40.0.2 +cryptography==41.0.0 enrich==1.2.7 idna==3.4 jinja2==3.1.2 @@ -33,7 +33,7 @@ python-dateutil==2.8.2 python-slugify==8.0.1 pyyaml==6.0 -requests==2.28.2 +requests==2.31.0 resolvelib==0.8.1 rich==13.3.4 six==1.16.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.config/requirements.in new/molecule-5.1.0/.config/requirements.in --- old/molecule-5.0.1/.config/requirements.in 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.config/requirements.in 2023-06-23 17:19:28.000000000 +0200 @@ -1,4 +1,4 @@ -ansible-compat >= 2.2.0, < 4.0.0 +ansible-compat >= 4.1.2 ansible-core >= 2.12.10 click >= 8.0, < 9 click-help-colors >= 0.9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.config/requirements.txt new/molecule-5.1.0/.config/requirements.txt --- old/molecule-5.0.1/.config/requirements.txt 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.config/requirements.txt 2023-06-23 17:19:28.000000000 +0200 @@ -5,7 +5,7 @@ # pip-compile --extra=docs --extra=test --no-annotate --output-file=.config/requirements.txt --resolver=backtracking --strip-extras pyproject.toml # ansi2html==1.8.0 -ansible-compat==3.0.2 +ansible-compat==4.1.2 ansible-core==2.14.4 ansible-lint==6.14.6 arrow==1.2.3 @@ -30,6 +30,7 @@ csscompressor==0.9.5 cssselect2==0.7.0 defusedxml==0.7.1 +dnspython==2.3.0 enrich==1.2.7 exceptiongroup==1.1.1 execnet==1.9.0 @@ -44,6 +45,7 @@ jinja2-time==0.2.0 jsmin==3.0.1 jsonschema==4.17.3 +linkchecker==10.2.1 markdown==3.3.7 markdown-exec==1.4.0 markdown-include==0.8.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.github/ISSUE_TEMPLATE/bug_report.md new/molecule-5.1.0/.github/ISSUE_TEMPLATE/bug_report.md --- old/molecule-5.0.1/.github/ISSUE_TEMPLATE/bug_report.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.github/ISSUE_TEMPLATE/bug_report.md 2023-06-23 17:19:28.000000000 +0200 @@ -6,8 +6,8 @@ <!--- Verify first that your issue is not already reported on GitHub --> <!--- Do not report bugs before reproducing them with the code of the main branch! --> -<!--- Please also check https://molecule.readthedocs.io/en/latest/faq.html ---> -<!--- Please use https://groups.google.com/forum/#!forum/molecule-users for usage questions --> +<!--- Please also check https://ansible.readthedocs.io/projects/molecule/faq/ ---> +<!--- Please use https://github.com/ansible-community/molecule/discussions for usage questions --> # Issue Type diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.github/workflows/tox.yml new/molecule-5.1.0/.github/workflows/tox.yml --- old/molecule-5.0.1/.github/workflows/tox.yml 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.github/workflows/tox.yml 2023-06-23 17:19:28.000000000 +0200 @@ -51,7 +51,7 @@ matrix: ${{ fromJson(needs.pre.outputs.matrix) }} env: - PYTEST_REQPASS: 454 + PYTEST_REQPASS: 455 steps: - uses: actions/checkout@v3 with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/.pre-commit-config.yaml new/molecule-5.1.0/.pre-commit-config.yaml --- old/molecule-5.0.1/.pre-commit-config.yaml 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/.pre-commit-config.yaml 2023-06-23 17:19:28.000000000 +0200 @@ -8,7 +8,7 @@ repos: - repo: https://github.com/pre-commit/mirrors-prettier # keep it before yamllint - rev: "v3.0.0-alpha.6" + rev: "v3.0.0-alpha.9-for-vscode" hooks: - id: prettier # Temporary excludes so we can gradually normalize the formatting @@ -21,7 +21,7 @@ - prettier - prettier-plugin-toml - repo: https://github.com/codespell-project/codespell - rev: v2.2.4 + rev: v2.2.5 hooks: - id: codespell - repo: https://github.com/psf/black @@ -42,19 +42,19 @@ language_version: python3 - repo: https://github.com/adrienverge/yamllint.git - rev: v1.30.0 + rev: v1.32.0 hooks: - id: yamllint files: \.(yaml|yml)$ types: [file, yaml] entry: yamllint --strict - repo: https://github.com/charliermarsh/ruff-pre-commit - rev: "v0.0.262" + rev: "v0.0.275" hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.2.0 + rev: v1.4.0 hooks: - id: mypy # empty args needed in order to match mypy cli behavior @@ -62,7 +62,7 @@ entry: mypy src/ pass_filenames: false additional_dependencies: - - ansible-compat>=2.2.0,<4.0.0 + - ansible-compat>=4.1.2 - click>=8.0.1 - enrich>=1.2.7 - importlib-metadata>=4.6.1 @@ -81,7 +81,7 @@ args: - --output-format=colorized additional_dependencies: - - ansible-compat>=2.2.0,<4.0.0 + - ansible-compat>=4.1.2 - click - click-help-colors - cookiecutter diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/PKG-INFO new/molecule-5.1.0/PKG-INFO --- old/molecule-5.0.1/PKG-INFO 2023-05-03 15:49:22.603660800 +0200 +++ new/molecule-5.1.0/PKG-INFO 2023-06-23 17:19:47.070133200 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: molecule -Version: 5.0.1 +Version: 5.1.0 Summary: Molecule aids in the development and testing of Ansible roles Author-email: Ansible by Red Hat <i...@ansible.com> Maintainer-email: Ansible by Red Hat <i...@ansible.com> @@ -38,7 +38,7 @@ # About Ansible Molecule [![PyPI Package](https://img.shields.io/pypi/v/molecule)](https://pypi.org/project/molecule/) -[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://molecule.readthedocs.io/en/latest/) +[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://ansible.readthedocs.io/projects/molecule) [![image](https://github.com/ansible-community/molecule/workflows/tox/badge.svg)](https://github.com/ansible-community/molecule/actions) [![Python Black Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) [![Ansible Code of Conduct](https://img.shields.io/badge/Code%20of%20Conduct-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/README.md new/molecule-5.1.0/README.md --- old/molecule-5.0.1/README.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/README.md 2023-06-23 17:19:28.000000000 +0200 @@ -1,7 +1,7 @@ # About Ansible Molecule [![PyPI Package](https://img.shields.io/pypi/v/molecule)](https://pypi.org/project/molecule/) -[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://molecule.readthedocs.io/en/latest/) +[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://ansible.readthedocs.io/projects/molecule) [![image](https://github.com/ansible-community/molecule/workflows/tox/badge.svg)](https://github.com/ansible-community/molecule/actions) [![Python Black Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) [![Ansible Code of Conduct](https://img.shields.io/badge/Code%20of%20Conduct-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/ci.md new/molecule-5.1.0/docs/ci.md --- old/molecule-5.0.1/docs/ci.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/ci.md 2023-06-23 17:19:28.000000000 +0200 @@ -340,11 +340,11 @@ ## Tox -[Tox](https://tox.readthedocs.io/en/latest) is a generic virtualenv +[Tox](https://tox.wiki/en/latest/) is a generic virtualenv management, and test command line tool. -[Tox](https://tox.readthedocs.io/en/latest) can be used in conjunction +[Tox](https://tox.wiki/en/latest/) can be used in conjunction with -[Factors](http://tox.readthedocs.io/en/latest/config.html#factors-and-factor-conditional-settings) +[Factors](https://tox.wiki/en/latest/config.html#factors-and-factor-conditional-settings) and Molecule, to perform scenario tests. To test the role against multiple versions of Ansible. @@ -369,7 +369,7 @@ To view the factor generated tox environments run `tox -l`. If using the [\--parallel -functionality](https://tox.readthedocs.io/en/latest/config.html#cmdoption-tox-p) +functionality](https://tox.wiki/en/latest/config.html#cmdoption-tox-p) of Tox (version 3.7 onwards), Molecule must be made aware of the parallel testing by setting a `MOLECULE_EPHEMERAL_DIRECTORY` environment variable per environment. In addition, we export a `TOX_ENVNAME` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/contributing.md new/molecule-5.1.0/docs/contributing.md --- old/molecule-5.0.1/docs/contributing.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/contributing.md 2023-06-23 17:19:28.000000000 +0200 @@ -1,14 +1,13 @@ # Contributing -- To see what's planned see the [Molecule Project - Board](https://github.com/ansible-community/molecule/projects). +- To see what's discussed see the [discussions + ](https://github.com/ansible-community/molecule/discussions). - Join the Molecule [community working group](https://github.com/ansible/community/wiki/molecule) if you would like to influence the direction of the project. - Join us in `#ansible-devtools` on - [libera.chat](https://web.libera.chat/?channel=#ansible-molecule) irc, - or [molecule-users - Forum](https://groups.google.com/forum/#!forum/molecule-users). + [libera.chat](https://web.libera.chat/?channel=#ansible-molecule) matrix/irc, + or [molecule discussions](https://github.com/ansible-community/molecule/discussions). - The full list of Ansible email lists and IRC channels can be found in the [communication page](https://docs.ansible.com/ansible/latest/community/communication.html). @@ -50,7 +49,7 @@ ## Testing Molecule has an extensive set of unit and functional tests. Molecule -uses [Tox](https://tox.readthedocs.io/en/latest/) factors to generate a +uses [Tox](https://tox.wiki/en/latest/) factors to generate a matrix of python x Ansible x unit/functional tests. Manual setup required as of this time. @@ -58,7 +57,7 @@ Tests will be skipped when the driver's binary is not present. -Install the test framework [Tox](https://tox.readthedocs.io/en/latest/). +Install the test framework [Tox](https://tox.wiki/en/latest/). ```bash $ python3 -m pip install tox @@ -115,6 +114,18 @@ $ tox -e docs ``` +### Updating Dependencies + +Dependencies need to be updated by hand in: + +- `.config/requirements.in` +- `.pre-commit-config.yaml` (2 places) + +Afterwards, you will need to generate changes to `requirements.lock.txt` +and `requirement.txt`, by running the commands listed at the top of those files. + +Please note that CI will attempt to regenerate those changes, and if there is any diff, CI will fail. + ## Credits Based on the good work of John Dewey diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/faq.md new/molecule-5.1.0/docs/faq.md --- old/molecule-5.0.1/docs/faq.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/faq.md 2023-06-23 17:19:28.000000000 +0200 @@ -57,7 +57,7 @@ ## Can I run Molecule processes in parallel? -Please see [parallel-usage-example](/examples.md/#docker-with-non-privileged-user) for +Please see [parallel-usage-example](examples.md#docker-with-non-privileged-user) for usage. ## Can I specify random instance IDs in my molecule.yml? @@ -97,7 +97,7 @@ [monorepo](https://en.wikipedia.org/wiki/Monorepo) with other roles are automatically picked up and `ANSIBLE_ROLES_PATH` is set accordingly. See [this -page](https://molecule.readthedocs.io/en/latest/examples/#monolith-repo) +page](examples.md#monolith-repo) for more information. ## How can I add development/testing-only dependencies? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/getting-started.md new/molecule-5.1.0/docs/getting-started.md --- old/molecule-5.0.1/docs/getting-started.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/getting-started.md 2023-06-23 17:19:28.000000000 +0200 @@ -9,7 +9,7 @@ In order to complete this guide by hand, you will need to additionally install [Docker](https://docs.docker.com/). Molecule requires an external Python dependency for the Docker driver which is provided when - installing Molecule using `pip install 'molecule[docker]'`. + installing Molecule using `pip install 'molecule-plugins[docker]'`. ## Creating a new role @@ -65,7 +65,7 @@ role. Molecule will invoke this playbook with `ansible-playbook` and run it against an instance created by the driver. - `verify.yml` is the Ansible file used for testing as Ansible is the - default [verifier](/configuration/#verifier). This allows you to + default [verifier](configuration.md#verifier). This allows you to write specific tests against the state of the container after your role has finished executing. Other verifier tools are available Note that [testinfra](https://testinfra.readthedocs.io/en/latest/) was the default verifier prior to molecule version 3. @@ -98,24 +98,24 @@ [YAML](https://yaml.org/) file whose keys represent the high level components that Molecule provides. These are: -- The [dependency](/configuration/#dependency) manager. Molecule +- The [dependency](configuration.md#dependency) manager. Molecule uses [galaxy development guide] by default to resolve your role dependencies. -- The [driver](/configuration/#driver) provider. Molecule uses +- The [driver](configuration.md#driver) provider. Molecule uses [Docker](https://docs.docker.com/) by default. Molecule uses the driver to delegate the task of creating instances. -- The [platforms](/configuration/#platforms) definitions. Molecule +- The [platforms](configuration.md#platforms) definitions. Molecule relies on this to know which instances to create, name and to which group each instance belongs. If you need to test your role against multiple popular distributions (CentOS, Fedora, Debian), you can specify that in this section. -- The [provisioner](/configuration/#provisioner). Molecule only +- The [provisioner](configuration.md#provisioner). Molecule only provides an Ansible provisioner. Ansible manages the life cycle of the instance based on this configuration. - The [scenario][] definition. Molecule relies on this configuration to control the scenario sequence order. -- The [verifier](/configuration/#verifier) framework. Molecule +- The [verifier](configuration.md#verifier) framework. Molecule uses Ansible by default to provide a way to write specific state checking tests (such as deployment smoke tests) on the target instance. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/installation.md new/molecule-5.1.0/docs/installation.md --- old/molecule-5.0.1/docs/installation.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/installation.md 2023-06-23 17:19:28.000000000 +0200 @@ -95,6 +95,13 @@ $ python3 -m pip install --user "molecule-plugins[podman]" ``` +!!! warning + + If you upgrade molecule from previous versions, make sure to remove + previously installed drivers like for instance `molecule-podman` or + `molecule-vagrant` since those are now available in the `molecule-plugins` + package. + Installing molecule package also installed its main script `molecule`, usually in `PATH`. Users should know that molecule can also be called as a python module, using `python -m molecule ...`. This alternative method diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/docs/usage.md new/molecule-5.1.0/docs/usage.md --- old/molecule-5.0.1/docs/usage.md 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/docs/usage.md 2023-06-23 17:19:28.000000000 +0200 @@ -67,5 +67,5 @@ Matrix will display the subcommand's ordered list of actions, which can be changed in -[scenario](https://molecule.readthedocs.io/en/latest/configuration.html#scenario) +[scenario](configuration.md#scenario) configuration. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/linkcheckerrc new/molecule-5.1.0/linkcheckerrc --- old/molecule-5.0.1/linkcheckerrc 1970-01-01 01:00:00.000000000 +0100 +++ new/molecule-5.1.0/linkcheckerrc 2023-06-23 17:19:28.000000000 +0200 @@ -0,0 +1,9 @@ +[filtering] +checkextern=1 +ignore= + xml.gz$ + 404.html + +[checking] +robotstxt=0 +localwebroot=./ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/mkdocs.yml new/molecule-5.1.0/mkdocs.yml --- old/molecule-5.0.1/mkdocs.yml 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/mkdocs.yml 2023-06-23 17:19:28.000000000 +0200 @@ -1,6 +1,6 @@ --- site_name: Ansible Molecule -site_url: https://molecule.readthedocs.io/ +site_url: https://ansible.readthedocs.io/projects/molecule/ repo_url: https://github.com/ansible-community/molecule edit_uri: blob/main/docs/ copyright: Copyright © 2023 Red Hat, Inc. @@ -83,13 +83,8 @@ import: - url: https://docs.ansible.com/ansible/latest/objects.inv domains: [py, std, "std:doc", "std:label"] - # - https://virtualenv.pypa.io/en/latest/objects.inv - # - https://yamllint.readthedocs.io/en/latest/objects.inv - # - https://jinja.palletsprojects.com/objects.inv - url: https://pip.pypa.io/en/latest/objects.inv domains: [py, std] - # - https://docs.python.org/3/objects.inv - # - https://testinfra.readthedocs.io/en/latest/objects.inv markdown_extensions: - admonition diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/_version.py new/molecule-5.1.0/src/molecule/_version.py --- old/molecule-5.0.1/src/molecule/_version.py 2023-05-03 15:49:22.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/_version.py 2023-06-23 17:19:46.000000000 +0200 @@ -1,4 +1,4 @@ # file generated by setuptools_scm # don't change, don't track in version control -__version__ = version = '5.0.1' -__version_tuple__ = version_tuple = (5, 0, 1) +__version__ = version = '5.1.0' +__version_tuple__ = version_tuple = (5, 1, 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/command/init/role.py new/molecule-5.1.0/src/molecule/command/init/role.py --- old/molecule-5.0.1/src/molecule/command/init/role.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/command/init/role.py 2023-06-23 17:19:28.000000000 +0200 @@ -90,7 +90,7 @@ if namespace: # we need to inject namespace info into meta/main.yml - cmd = [ + cmd_meta = [ "ansible", "localhost", "-o", # one line output @@ -99,7 +99,18 @@ "-a", f'path={role_name}/meta/main.yml line=" namespace: {namespace}" insertafter=" author: your name"', ] - util.run_command(cmd, check=True) + util.run_command(cmd_meta, check=True) + # we need to inject namespace info into tests/test.yml + cmd_tests = [ + "ansible", + "localhost", + "-o", # one line output + "-m", + "lineinfile", + "-a", + f'path={role_name}/tests/test.yml line=" - {namespace}.{role_name}" regex="^(.*) - {role_name}"', + ] + util.run_command(cmd_tests, check=True) scenario_base_directory = os.path.join(role_directory, role_name) templates = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/config.py new/molecule-5.1.0/src/molecule/config.py --- old/molecule-5.0.1/src/molecule/config.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/config.py 2023-06-23 17:19:28.000000000 +0200 @@ -182,7 +182,12 @@ driver_name = self._get_driver_name() driver = None - driver = api.drivers(config=self)[driver_name] + api_drivers = api.drivers(config=self) + if driver_name not in api_drivers: + msg = f"Failed to find driver {driver_name}. Please ensure that the driver is correctly installed." + util.sysexit_with_message(msg) + + driver = api_drivers[driver_name] driver.name = driver_name return driver diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml new/molecule-5.1.0/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml --- old/molecule-5.0.1/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/create.yml 2023-06-23 17:19:28.000000000 +0200 @@ -9,9 +9,10 @@ # TODO: Developer must implement and populate 'server' variable - - when: server.changed | default(false) | bool + - name: Create instance config + when: server.changed | default(false) | bool # noqa no-handler block: - - name: Populate instance config dict + - name: Populate instance config dict # noqa jinja ansible.builtin.set_fact: instance_conf_dict: { 'instance': "{{ }}", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml new/molecule-5.1.0/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml --- old/molecule-5.0.1/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/cookiecutter/scenario/driver/delegated/{{cookiecutter.molecule_directory}}/{{cookiecutter.scenario_name}}/destroy.yml 2023-06-23 17:19:28.000000000 +0200 @@ -22,5 +22,5 @@ {{ instance_conf | to_json | from_json | to_yaml }} dest: "{{ molecule_instance_config }}" mode: 0600 - when: server.changed | default(false) | bool + when: server.changed | default(false) | bool # noqa no-handler {%- endraw %} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/dependency/ansible_galaxy/__init__.py new/molecule-5.1.0/src/molecule/dependency/ansible_galaxy/__init__.py --- old/molecule-5.0.1/src/molecule/dependency/ansible_galaxy/__init__.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/dependency/ansible_galaxy/__init__.py 2023-06-23 17:19:28.000000000 +0200 @@ -11,6 +11,17 @@ Additional options can be passed to ``ansible-galaxy install`` through the options dict. Any option set in this section will override the defaults. + The `role-file` and `requirements-file` search path is `<role-name>` + directory. The default value for `role-file` is `requirements.yml`, and the + default value for `requirements-file` is `collections.yml`. + + 1. If they are not defined in `options`, `molecule` will find them from the + `<role-name>` directory, e.g. `<role-name>/requirements.yml` and + `<role-name>/collections.yml` + 2. If they are defined in `options`, `molecule` will find them from + `<role-name>/<the-value-of-role-file>` and + `<role-name>/<the-value-of-requirements-file>`. + !!! note Molecule will remove any options matching '^[v]+$', and pass ``-vvv`` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/driver/delegated.py new/molecule-5.1.0/src/molecule/driver/delegated.py --- old/molecule-5.0.1/src/molecule/driver/delegated.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/driver/delegated.py 2023-06-23 17:19:28.000000000 +0200 @@ -54,6 +54,7 @@ instance: instance_name port: ssh_port_as_string user: ssh_user + shell_type: sh password: ssh_password # mutually exclusive with identity_file become_method: valid_ansible_become_method # optional become_pass: password_if_required # optional @@ -64,6 +65,7 @@ port: winrm_port_as_string user: winrm_user password: winrm_password + shell_type: powershell winrm_transport: ntlm/credssp/kerberos winrm_cert_pem: <path to the credssp public certificate key> winrm_cert_key_pem: <path to the credssp private certificate key> @@ -194,19 +196,30 @@ return {"instance": instance_name} def ansible_connection_options(self, instance_name): + # list of tuples describing mappable instance params and default values + instance_params = [ + ("become_pass", None), + ("become_method", False), + ("winrm_transport", None), + ("winrm_cert_pem", None), + ("winrm_cert_key_pem", None), + ("winrm_server_cert_validation", None), + ("shell_type", None), + ("connection", "smart"), + ] if self.managed: try: d = self._get_instance_config(instance_name) conn_dict = {} + # Check if optional mappable params are in the instance config + for i in instance_params: + if d.get(i[0], i[1]): + conn_dict["ansible_" + i[0]] = d.get(i[0]) + conn_dict["ansible_user"] = d.get("user") conn_dict["ansible_host"] = d.get("address") conn_dict["ansible_port"] = d.get("port") - if d.get("connection", None): - conn_dict["ansible_connection"] = d.get("connection", "smart") - if d.get("become_method", False): - conn_dict["ansible_become_method"] = d.get("become_method") - if d.get("become_pass", None): - conn_dict["ansible_become_pass"] = d.get("become_pass") + if d.get("identity_file", None): conn_dict["ansible_private_key_file"] = d.get("identity_file") conn_dict["ansible_ssh_common_args"] = " ".join( @@ -217,18 +230,6 @@ # Based on testinfra documentation, ansible password must be passed via ansible_ssh_pass # issue to fix this can be found https://github.com/pytest-dev/pytest-testinfra/issues/580 conn_dict["ansible_ssh_pass"] = d.get("password") - if d.get("winrm_transport", None): - conn_dict["ansible_winrm_transport"] = d.get("winrm_transport") - if d.get("winrm_cert_pem", None): - conn_dict["ansible_winrm_cert_pem"] = d.get("winrm_cert_pem") - if d.get("winrm_cert_key_pem", None): - conn_dict["ansible_winrm_cert_key_pem"] = d.get( - "winrm_cert_key_pem", - ) - if d.get("winrm_server_cert_validation", None): - conn_dict["ansible_winrm_server_cert_validation"] = d.get( - "winrm_server_cert_validation", - ) return conn_dict diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/interpolation.py new/molecule-5.1.0/src/molecule/interpolation.py --- old/molecule-5.0.1/src/molecule/interpolation.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/interpolation.py 2023-06-23 17:19:28.000000000 +0200 @@ -98,7 +98,6 @@ # Check the most common path first. named = mo.group("named") or mo.group("braced") if named is not None: - # TODO(retr0h): This needs to be better handled. if keep_string and named.startswith(keep_string): return f"${named}" if ":-" in named: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/model/schema_v3.py new/molecule-5.1.0/src/molecule/model/schema_v3.py --- old/molecule-5.0.1/src/molecule/model/schema_v3.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/model/schema_v3.py 2023-06-23 17:19:28.000000000 +0200 @@ -71,7 +71,7 @@ ): wrong_driver_name = str(exc.message.split()[0]) driver_name_err_msg = exc.schema["messages"]["anyOf"] - result.append(" ".join((wrong_driver_name, driver_name_err_msg))) + result.append(f"{wrong_driver_name} {driver_name_err_msg}") else: result.append(exc.message) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/provisioner/ansible.py new/molecule-5.1.0/src/molecule/provisioner/ansible.py --- old/molecule-5.0.1/src/molecule/provisioner/ansible.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/provisioner/ansible.py 2023-06-23 17:19:28.000000000 +0200 @@ -20,12 +20,14 @@ """Ansible Provisioner Module.""" # pylint: disable=too-many-lines +from __future__ import annotations + import collections import copy import logging import os import shutil -from typing import Any, Optional +from typing import Any from ansible_compat.ports import cached_property @@ -853,7 +855,7 @@ else: self._link_or_update_vars() - def abs_path(self, path: str) -> Optional[str]: + def abs_path(self, path: str) -> str | None: return util.abs_path(os.path.join(self._config.scenario.directory, path)) def _add_or_update_vars(self): @@ -869,7 +871,7 @@ for target in ["host_vars", "group_vars"]: if target == "host_vars": vars_target = copy.deepcopy(self.host_vars) - for instance_name, _ in self.host_vars.items(): + for instance_name in self.host_vars.keys(): instance_key = instance_name vars_target[instance_key] = vars_target.pop(instance_name) @@ -985,7 +987,7 @@ Adds modules directory from molecule and its plugins. """ - paths: list[Optional[str]] = [] + paths: list[str | None] = [] if os.environ.get("ANSIBLE_LIBRARY"): paths = list(map(util.abs_path, os.environ["ANSIBLE_LIBRARY"].split(":"))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/provisioner/ansible_playbooks.py new/molecule-5.1.0/src/molecule/provisioner/ansible_playbooks.py --- old/molecule-5.0.1/src/molecule/provisioner/ansible_playbooks.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/provisioner/ansible_playbooks.py 2023-06-23 17:19:28.000000000 +0200 @@ -131,7 +131,6 @@ Currently used to deprecate use of playbook.yml in favour of converge.yml """ - # TODO(ssbarnea): Remove that deprecation fallback in 3.1+ if not playbook or os.path.isfile(playbook): return playbook diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/scenario.py new/molecule-5.1.0/src/molecule/scenario.py --- old/molecule-5.0.1/src/molecule/scenario.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/scenario.py 2023-06-23 17:19:28.000000000 +0200 @@ -199,7 +199,6 @@ if not isinstance(result, list): raise RuntimeError("Unexpected sequence type {result}.") except KeyError: - # TODO(retr0h): May change this handling in the future. pass return result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/shell.py new/molecule-5.1.0/src/molecule/shell.py --- old/molecule-5.0.1/src/molecule/shell.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/shell.py 2023-06-23 17:19:28.000000000 +0200 @@ -62,7 +62,7 @@ msg += f" [repr.attrib_name]ansible[/][dim]:[/][repr.number]{app.runtime.version}[/]" for driver in drivers(): - msg += f"\n [repr.attrib_name]{str(driver)}[/][dim]:[/][repr.number]{driver.version}[/][dim] from {driver.module}" + msg += f"\n [repr.attrib_name]{driver!s}[/][dim]:[/][repr.number]{driver.version}[/][dim] from {driver.module}" if driver.required_collections: msg += " requiring collections:" for name, version in driver.required_collections.items(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/functional/.ansible-lint new/molecule-5.1.0/src/molecule/test/functional/.ansible-lint --- old/molecule-5.0.1/src/molecule/test/functional/.ansible-lint 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/functional/.ansible-lint 2023-06-23 17:19:28.000000000 +0200 @@ -1,12 +1,12 @@ +--- # ansible-lint config for functional testing, used to bypass expected metadata # errors in molecule-generated roles. Loaded via the metadata_lint_update # pytest helper. For reference, see "E7xx - metadata" in: -# https://docs.ansible.com/ansible-lint/rules/default_rules.html + +# https://docs.ansible.com/ansible-lint/rules/default_rules.html + skip_list: - # metadata/201 - Trailing whitespace - - '201' - # metadata/701 - Role info should contain platforms - - '701' - # metadata/703 - Should change default metadata: <field>" - - '703' + - meta-incorrect + - schema[meta] + - name[play] # See https://github.com/ansible/ansible/issues/63734 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/functional/conftest.py new/molecule-5.1.0/src/molecule/test/functional/conftest.py --- old/molecule-5.0.1/src/molecule/test/functional/conftest.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/functional/conftest.py 2023-06-23 17:19:28.000000000 +0200 @@ -164,7 +164,8 @@ # the customize ansible-lint config is used. with change_dir_to(role_directory): cmd = ["ansible-lint", "."] - assert run_command(cmd).returncode == 0 + result = run_command(cmd) + assert result.returncode == 0 def list_cmd(x): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/functional/test_command.py new/molecule-5.1.0/src/molecule/test/functional/test_command.py --- old/molecule-5.0.1/src/molecule/test/functional/test_command.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/functional/test_command.py 2023-06-23 17:19:28.000000000 +0200 @@ -119,8 +119,6 @@ cmd = ["molecule", "create", "--scenario-name", scenario_name] assert run_command(cmd, env=os.environ).returncode == 0 - # TODO(ssbarnea): Include these additional checks - @pytest.mark.parametrize( ("scenario_to_test", "driver_name", "scenario_name"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/unit/model/v2/test_driver_section.py new/molecule-5.1.0/src/molecule/test/unit/model/v2/test_driver_section.py --- old/molecule-5.0.1/src/molecule/test/unit/model/v2/test_driver_section.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/unit/model/v2/test_driver_section.py 2023-06-23 17:19:28.000000000 +0200 @@ -75,7 +75,7 @@ # add single quotes for string driver_name = f"'{_config['driver']['name']}'" - error_msg = [" ".join((driver_name, base_error_msg))] + error_msg = [f"{driver_name} {base_error_msg}"] assert error_msg == schema_v3.validate(_config) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/unit/model/v2/test_platforms_section.py new/molecule-5.1.0/src/molecule/test/unit/model/v2/test_platforms_section.py --- old/molecule-5.0.1/src/molecule/test/unit/model/v2/test_platforms_section.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/unit/model/v2/test_platforms_section.py 2023-06-23 17:19:28.000000000 +0200 @@ -30,16 +30,3 @@ ) def test_platforms_delegated(_config): assert not schema_v3.validate(_config) - - -# todo: https://github.com/json-schema-org/json-schema-vocabularies/issues/22 -# @pytest.mark.parametrize( -# def test_platforms_unique_names(_config): - -# "platforms": [ -# 0: [{"name": [f"'{instance_name}' is not unique"]}], -# 1: [{"name": [f"'{instance_name}' is not unique"]}], - - -# def test_platforms_driver_name_required(_config): -# if "platforms" in _config: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/test/unit/test_util.py new/molecule-5.1.0/src/molecule/test/unit/test_util.py --- old/molecule-5.0.1/src/molecule/test/unit/test_util.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/test/unit/test_util.py 2023-06-23 17:19:28.000000000 +0200 @@ -179,6 +179,14 @@ assert util.render_template(template, foo="foo", bar="bar") == "foo = bar" +def test_render_template_quoted(): + template = """ + {{ 'url = "quoted_str"' }} + """.strip() + + assert util.render_template(template) == 'url = "quoted_str"' + + def test_write_file(temp_dir): dest_file = os.path.join(temp_dir.strpath, "test_util_write_file.tmp") contents = binascii.b2a_hex(os.urandom(15)).decode("utf-8") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule/util.py new/molecule-5.1.0/src/molecule/util.py --- old/molecule-5.0.1/src/molecule/util.py 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/src/molecule/util.py 2023-06-23 17:19:28.000000000 +0200 @@ -146,7 +146,7 @@ if debug: print_environment_vars(env) - result = app.runtime.exec( + result = app.runtime.run( args=args, env=env, cwd=cwd, @@ -175,7 +175,12 @@ def render_template(template, **kwargs): """Render a jinaj2 template.""" - t = jinja2.Environment(autoescape=True) + t = jinja2.Environment( + autoescape=jinja2.select_autoescape( + default_for_string=False, + default=False, + ), + ) t = t.from_string(template) return t.render(kwargs) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule.egg-info/PKG-INFO new/molecule-5.1.0/src/molecule.egg-info/PKG-INFO --- old/molecule-5.0.1/src/molecule.egg-info/PKG-INFO 2023-05-03 15:49:22.000000000 +0200 +++ new/molecule-5.1.0/src/molecule.egg-info/PKG-INFO 2023-06-23 17:19:46.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: molecule -Version: 5.0.1 +Version: 5.1.0 Summary: Molecule aids in the development and testing of Ansible roles Author-email: Ansible by Red Hat <i...@ansible.com> Maintainer-email: Ansible by Red Hat <i...@ansible.com> @@ -38,7 +38,7 @@ # About Ansible Molecule [![PyPI Package](https://img.shields.io/pypi/v/molecule)](https://pypi.org/project/molecule/) -[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://molecule.readthedocs.io/en/latest/) +[![Documentation Status](https://readthedocs.org/projects/molecule/badge/?version=latest)](https://ansible.readthedocs.io/projects/molecule) [![image](https://github.com/ansible-community/molecule/workflows/tox/badge.svg)](https://github.com/ansible-community/molecule/actions) [![Python Black Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black) [![Ansible Code of Conduct](https://img.shields.io/badge/Code%20of%20Conduct-silver.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule.egg-info/SOURCES.txt new/molecule-5.1.0/src/molecule.egg-info/SOURCES.txt --- old/molecule-5.0.1/src/molecule.egg-info/SOURCES.txt 2023-05-03 15:49:22.000000000 +0200 +++ new/molecule-5.1.0/src/molecule.egg-info/SOURCES.txt 2023-06-23 17:19:46.000000000 +0200 @@ -15,6 +15,7 @@ bindep.txt codecov.yml conftest.py +linkcheckerrc mkdocs.yml mypy.ini pyproject.toml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/src/molecule.egg-info/requires.txt new/molecule-5.1.0/src/molecule.egg-info/requires.txt --- old/molecule-5.0.1/src/molecule.egg-info/requires.txt 2023-05-03 15:49:22.000000000 +0200 +++ new/molecule-5.1.0/src/molecule.egg-info/requires.txt 2023-06-23 17:19:46.000000000 +0200 @@ -1,4 +1,4 @@ -ansible-compat<4.0.0,>=2.2.0 +ansible-compat>=4.1.2 ansible-core>=2.12.10 click<9,>=8.0 click-help-colors>=0.9 @@ -14,9 +14,10 @@ [docs] mkdocs-ansible[lock]>=0.1.4 pipdeptree>=2.4.0 +linkchecker [lock] -ansible-compat==3.0.2 +ansible-compat==4.1.2 ansible-core==2.14.4 arrow==1.2.3 attrs==23.1.0 @@ -28,7 +29,7 @@ click==8.1.3 click-help-colors==0.9.1 cookiecutter==2.1.1 -cryptography==40.0.2 +cryptography==41.0.0 enrich==1.2.7 idna==3.4 jinja2==3.1.2 @@ -45,7 +46,7 @@ python-dateutil==2.8.2 python-slugify==8.0.1 pyyaml==6.0 -requests==2.28.2 +requests==2.31.0 resolvelib==0.8.1 rich==13.3.4 six==1.16.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/molecule-5.0.1/tox.ini new/molecule-5.1.0/tox.ini --- old/molecule-5.0.1/tox.ini 2023-05-03 15:49:06.000000000 +0200 +++ new/molecule-5.1.0/tox.ini 2023-06-23 17:19:28.000000000 +0200 @@ -97,6 +97,8 @@ -pre-commit autoupdate # We fail if files are modified at the end git diff --exit-code +allowlist_externals = + git [testenv:docs] description = Build documentation @@ -104,6 +106,7 @@ usedevelop = true commands = mkdocs build --strict + linkchecker -f linkcheckerrc site extras = docs