Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-ansible-compat for openSUSE:Factory checked in at 2023-04-14 13:14:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-ansible-compat (Old) and /work/SRC/openSUSE:Factory/.python-ansible-compat.new.19717 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ansible-compat" Fri Apr 14 13:14:03 2023 rev:14 rq:1079368 version:3.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-ansible-compat/python-ansible-compat.changes 2023-02-07 18:49:19.155207188 +0100 +++ /work/SRC/openSUSE:Factory/.python-ansible-compat.new.19717/python-ansible-compat.changes 2023-04-14 13:14:05.659912547 +0200 @@ -1,0 +2,10 @@ +Fri Apr 14 06:54:22 UTC 2023 - Johannes Kastl <ka...@b1-systems.de> + +- update to 3.0.2: + * Change install_collection to avoid use of -p (#233) @ssbarnea + * Correct documentation links (#232) @ssbarnea + * Avoid using -p option with ansible-galaxy install (#230) + @ssbarnea + * Fix collection loading (#223) @apatard + +------------------------------------------------------------------- Old: ---- ansible-compat-3.0.1.tar.gz New: ---- ansible-compat-3.0.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-ansible-compat.spec ++++++ --- /var/tmp/diff_new_pack.FBwoXb/_old 2023-04-14 13:14:08.323927781 +0200 +++ /var/tmp/diff_new_pack.FBwoXb/_new 2023-04-14 13:14:08.327927804 +0200 @@ -26,7 +26,7 @@ %endif Name: python-ansible-compat -Version: 3.0.1 +Version: 3.0.2 Release: 0 Summary: Compatibility shim for Ansible 2.9 and newer License: MIT @@ -42,10 +42,10 @@ BuildRequires: %{python_module pytest} BuildRequires: %{python_module PyYAML} BuildRequires: %{python_module flaky} -BuildRequires: %{python_module jsonschema >= 4.5.1} +BuildRequires: %{python_module jsonschema >= 4.6.0} BuildRequires: %{python_module pytest-mock} BuildRequires: %{python_module subprocess-tee >= 0.4.1} -BuildRequires: ansible +BuildRequires: ansible-core >= 2.12 # /SECTION BuildRequires: fdupes BuildRequires: python-rpm-generators ++++++ ansible-compat-3.0.1.tar.gz -> ansible-compat-3.0.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/.flake8 new/ansible-compat-3.0.2/.flake8 --- old/ansible-compat-3.0.1/.flake8 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/.flake8 2023-04-13 19:13:53.000000000 +0200 @@ -57,8 +57,6 @@ # per-file-ignores = # flake8-pytest-style -# PT001: -pytest-fixture-no-parentheses = true # PT006: pytest-parametrize-names-type = tuple # PT007: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/.github/CODE_OF_CONDUCT.md new/ansible-compat-3.0.2/.github/CODE_OF_CONDUCT.md --- old/ansible-compat-3.0.1/.github/CODE_OF_CONDUCT.md 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/.github/CODE_OF_CONDUCT.md 2023-04-13 19:13:53.000000000 +0200 @@ -1,3 +1,4 @@ # Community Code of Conduct -Please see the official [Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html). +Please see the official +[Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/.pre-commit-config.yaml new/ansible-compat-3.0.2/.pre-commit-config.yaml --- old/ansible-compat-3.0.1/.pre-commit-config.yaml 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/.pre-commit-config.yaml 2023-04-13 19:13:53.000000000 +0200 @@ -13,15 +13,25 @@ default_language_version: # Needed in order to make pip-compile output predictable. python: python3.9 +exclude: | + (?x)^( + test/assets/.* + )$ repos: + - repo: https://github.com/charliermarsh/ruff-pre-commit + rev: "v0.0.261" + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] - repo: https://github.com/pre-commit/mirrors-prettier # keep it before yamllint - rev: "v3.0.0-alpha.4" + rev: "v3.0.0-alpha.6" hooks: - id: prettier additional_dependencies: - prettier - prettier-plugin-toml + - prettier-plugin-sort-json - repo: https://github.com/pre-commit/pre-commit-hooks.git rev: v4.4.0 hooks: @@ -39,11 +49,11 @@ - id: debug-statements language_version: python3 - repo: https://github.com/codespell-project/codespell - rev: v2.2.2 + rev: v2.2.4 hooks: - id: codespell - repo: https://github.com/adrienverge/yamllint.git - rev: v1.29.0 + rev: v1.30.0 hooks: - id: yamllint files: \.(yaml|yml)$ @@ -57,7 +67,7 @@ # https://github.com/pre-commit/mirrors-isort/issues/9#issuecomment-624404082 - --filter-files - repo: https://github.com/psf/black - rev: 22.12.0 + rev: 23.3.0 hooks: - id: black language_version: python3 @@ -73,7 +83,7 @@ - flake8-rst-docstrings>=0.2.3 - flake8-rst>=0.8.0 - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.991 + rev: v1.1.1 hooks: - id: mypy # empty args needed in order to match mypy cli behavior @@ -89,7 +99,7 @@ - types-pkg_resources - types-jsonschema>=4.4.9 - repo: https://github.com/pycqa/pylint - rev: v2.16.0b1 + rev: v3.0.0a6 hooks: - id: pylint additional_dependencies: @@ -104,7 +114,7 @@ name: Upgrade constraints files and requirements files: ^(pyproject\.toml|requirements\.txt)$ language: python - entry: python -m piptools compile --resolver=backtracking --upgrade -q --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core + entry: python -m piptools compile --resolver=backtracking --upgrade -q --strip-extras --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core pass_filenames: false stages: - manual @@ -114,7 +124,7 @@ name: Check constraints files and requirements files: ^(pyproject\.toml|requirements\.txt)$ language: python - entry: python -m piptools compile --resolver=backtracking -q --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core + entry: python -m piptools compile --resolver=backtracking -q --strip-extras --extra docs --extra test --output-file=requirements.txt pyproject.toml --unsafe-package ansible-core pass_filenames: false additional_dependencies: - pip-tools>=6.11.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/.prettierignore new/ansible-compat-3.0.2/.prettierignore --- old/ansible-compat-3.0.1/.prettierignore 1970-01-01 01:00:00.000000000 +0100 +++ new/ansible-compat-3.0.2/.prettierignore 2023-04-13 19:13:53.000000000 +0200 @@ -0,0 +1 @@ +test/assets/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/.prettierrc.yaml new/ansible-compat-3.0.2/.prettierrc.yaml --- old/ansible-compat-3.0.1/.prettierrc.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/ansible-compat-3.0.2/.prettierrc.yaml 2023-04-13 19:13:53.000000000 +0200 @@ -0,0 +1,18 @@ +--- +proseWrap: always +jsonRecursiveSort: true # prettier-plugin-sort-json +tabWidth: 2 +useTabs: false +overrides: + - files: + - "*.md" + options: + # compatibility with markdownlint + proseWrap: always + printWidth: 80 + - files: + - "*.yaml" + - "*.yml" + options: + # compatibility with yamllint + proseWrap: preserve diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/PKG-INFO new/ansible-compat-3.0.2/PKG-INFO --- old/ansible-compat-3.0.1/PKG-INFO 2023-02-01 13:13:45.635363300 +0100 +++ new/ansible-compat-3.0.2/PKG-INFO 2023-04-13 19:14:09.288825500 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: ansible-compat -Version: 3.0.1 +Version: 3.0.2 Summary: Ansible compatibility goodies Author-email: Sorin Sbarnea <ssbar...@redhat.com> Maintainer-email: Sorin Sbarnea <ssbar...@redhat.com> @@ -37,11 +37,12 @@ # ansible-compat [](https://pypi.org/project/ansible-compat/) -[](https://ansible-compat.readthedocs.io/en/latest/) +[](https://ansible-compat.readthedocs.io/) [](https://github.com/ansible/ansible-compat/actions/workflows/tox.yml) [](https://codecov.io/github/ansible/ansible-compat?branch=main) A python package contains functions that facilitate working with various versions of Ansible 2.12 and newer. -Documentation is available at [ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/en/latest/). +Documentation is available at +[ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/README.md new/ansible-compat-3.0.2/README.md --- old/ansible-compat-3.0.1/README.md 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/README.md 2023-04-13 19:13:53.000000000 +0200 @@ -1,11 +1,12 @@ # ansible-compat [](https://pypi.org/project/ansible-compat/) -[](https://ansible-compat.readthedocs.io/en/latest/) +[](https://ansible-compat.readthedocs.io/) [](https://github.com/ansible/ansible-compat/actions/workflows/tox.yml) [](https://codecov.io/github/ansible/ansible-compat?branch=main) A python package contains functions that facilitate working with various versions of Ansible 2.12 and newer. -Documentation is available at [ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/en/latest/). +Documentation is available at +[ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/docs/api.md new/ansible-compat-3.0.2/docs/api.md --- old/ansible-compat-3.0.1/docs/api.md 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/docs/api.md 2023-04-13 19:13:53.000000000 +0200 @@ -1,8 +1,13 @@ # API ::: ansible_compat.config + ::: ansible_compat.errors + ::: ansible_compat.loaders + ::: ansible_compat.prerun + ::: ansible_compat.runtime + ::: ansible_compat.schema diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/docs/index.md new/ansible-compat-3.0.2/docs/index.md --- old/ansible-compat-3.0.1/docs/index.md 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/docs/index.md 2023-04-13 19:13:53.000000000 +0200 @@ -3,15 +3,14 @@ ## Using Ansible runtime ```python title="example.py" ---8<-- "test/test_runtime_example.py" +{!../test/test_runtime_example.py!} ``` ## Access to Ansible configuration -As you may not want to parse `ansible-config dump` yourself, you -can make use of a simple python class that facilitates access to -it, using python data types. +As you may not want to parse `ansible-config dump` yourself, you can make use of +a simple python class that facilitates access to it, using python data types. ```python ---8<-- "test/test_configuration_example.py" +{!../test/test_configuration_example.py!} ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/mkdocs.yml new/ansible-compat-3.0.2/mkdocs.yml --- old/ansible-compat-3.0.1/mkdocs.yml 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/mkdocs.yml 2023-04-13 19:13:53.000000000 +0200 @@ -1,43 +1,27 @@ +--- site_name: Ansible Compat Library site_url: https://ansible-compat.readthedocs.io/ repo_url: https://github.com/ansible/ansible-compat edit_uri: blob/main/docs/ copyright: Copyright © 2023 Red Hat, Inc. - -strict: true +docs_dir: docs +# strict: true watch: - mkdocs.yml - src - docs theme: - name: "material" - logo: images/logo.svg - favicon: images/favicon.ico + name: ansible features: - content.code.copy - content.action.edit - # - navigation.expand - - navigation.instant - - navigation.tracking + - navigation.expand - navigation.sections + - navigation.instant - navigation.indexes + - navigation.tracking - toc.integrate - palette: - - media: "(prefers-color-scheme: light)" - primary: teal - accent: blue - scheme: default - toggle: - icon: material/brightness-7 - name: Switch to dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - primary: teal - accent: blue - toggle: - icon: material/brightness-4 - name: Switch to light mode extra: social: - icon: fontawesome/brands/github-alt @@ -48,7 +32,8 @@ plugins: - autorefs - search - - social + - material/social + - material/tags - mkdocstrings: handlers: python: @@ -59,6 +44,7 @@ docstring_style: sphinx docstring_options: ignore_init_summary: yes + show_submodules: no docstring_section_style: list members_order: alphabetical @@ -75,14 +61,14 @@ # docstring_style: sphinx markdown_extensions: + - markdown_include.include: + base_path: docs - admonition - def_list - footnotes - pymdownx.highlight: anchor_linenums: true - pymdownx.inlinehilite - - pymdownx.snippets: - check_paths: true - pymdownx.superfences - pymdownx.magiclink: repo_url_shortener: true @@ -95,6 +81,7 @@ - pymdownx.tabbed: alternate_style: true - toc: + toc_depth: 2 permalink: true - pymdownx.superfences: custom_fences: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/pyproject.toml new/ansible-compat-3.0.2/pyproject.toml --- old/ansible-compat-3.0.1/pyproject.toml 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/pyproject.toml 2023-04-13 19:13:53.000000000 +0200 @@ -52,21 +52,7 @@ changelog = "https://github.com/ansible/ansible-compat/releases" [project.optional-dependencies] -docs = [ - "argparse-manpage", - "black", - "cairosvg", - "markdown-include", - "mkdocs", - "mkdocs-exclude", - "mkdocs-material", - "mkdocs-material-extensions", - "mkdocstrings", - "mkdocstrings-python", - "pillow", - "pymdown-extensions", - "slugify", -] +docs = ["argparse-manpage", "black", "mkdocs-ansible[lock]>=0.1.2"] test = ["coverage", "pip-tools", "pytest>=7.2.0", "pytest-mock", "pytest-plus"] [tool.coverage.run] @@ -128,5 +114,16 @@ # ensure we treat warnings as error filterwarnings = ["error"] +[tool.ruff] +select = ["PT"] +ignore = [ + "E501", # we use black + +] +target-version = "py39" + +[tool.ruff.flake8-pytest-style] +parametrize-values-type = "tuple" + [tool.setuptools_scm] local_scheme = "no-local-version" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/requirements.txt new/ansible-compat-3.0.2/requirements.txt --- old/ansible-compat-3.0.1/requirements.txt 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/requirements.txt 2023-04-13 19:13:53.000000000 +0200 @@ -2,199 +2,299 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --extra=docs --extra=test --output-file=requirements.txt --resolver=backtracking --unsafe-package=ansible-core pyproject.toml +# pip-compile --extra=docs --extra=test --output-file=requirements.txt --resolver=backtracking --strip-extras --unsafe-package=ansible-core pyproject.toml # argparse-manpage==4 # via ansible-compat (pyproject.toml) -attrs==22.1.0 +attrs==22.2.0 + # via jsonschema +beautifulsoup4==4.12.1 # via - # jsonschema - # pytest -black==22.12.0 + # mkdocs-ansible + # mkdocs-htmlproofer-plugin +black==23.3.0 # via ansible-compat (pyproject.toml) -build==0.9.0 +build==0.10.0 # via pip-tools -cairocffi==1.4.0 - # via cairosvg -cairosvg==2.6.0 - # via ansible-compat (pyproject.toml) +cairocffi==1.5.0 + # via + # cairosvg + # mkdocs-ansible +cairosvg==2.7.0 + # via mkdocs-ansible certifi==2022.12.7 - # via requests + # via + # mkdocs-ansible + # requests cffi==1.15.1 # via # cairocffi # cryptography -charset-normalizer==2.1.1 - # via requests + # mkdocs-ansible +charset-normalizer==3.1.0 + # via + # mkdocs-ansible + # requests click==8.1.3 # via # black # mkdocs + # mkdocs-ansible # pip-tools colorama==0.4.6 - # via griffe -coverage==6.5.0 + # via + # griffe + # mkdocs-ansible + # mkdocs-material +coverage==7.2.3 # via ansible-compat (pyproject.toml) -cryptography==39.0.0 +cryptography==40.0.1 # via ansible-core +csscompressor==0.9.5 + # via + # mkdocs-ansible + # mkdocs-minify-plugin cssselect2==0.7.0 - # via cairosvg + # via + # cairosvg + # mkdocs-ansible defusedxml==0.7.1 - # via cairosvg -exceptiongroup==1.0.4 + # via + # cairosvg + # mkdocs-ansible +exceptiongroup==1.1.1 # via pytest ghp-import==2.1.0 - # via mkdocs -griffe==0.25.4 - # via mkdocstrings-python + # via + # mkdocs + # mkdocs-ansible +griffe==0.26.0 + # via + # mkdocs-ansible + # mkdocstrings-python +htmlmin2==0.1.13 + # via + # mkdocs-ansible + # mkdocs-minify-plugin idna==3.4 - # via requests -importlib-metadata==5.1.0 + # via + # mkdocs-ansible + # requests +importlib-metadata==6.1.0 # via # markdown # mkdocs -iniconfig==1.1.1 + # mkdocs-ansible +iniconfig==2.0.0 # via pytest jinja2==3.1.2 # via # ansible-core # mkdocs + # mkdocs-ansible # mkdocs-material # mkdocstrings +jsmin==3.0.1 + # via + # mkdocs-ansible + # mkdocs-minify-plugin jsonschema==4.17.3 # via ansible-compat (pyproject.toml) markdown==3.3.7 # via # markdown-include # mkdocs + # mkdocs-ansible # mkdocs-autorefs + # mkdocs-htmlproofer-plugin # mkdocs-material # mkdocstrings # pymdown-extensions -markdown-include==0.8.0 - # via ansible-compat (pyproject.toml) -markupsafe==2.1.1 +markdown-exec==1.4.0 + # via mkdocs-ansible +markdown-include==0.8.1 + # via mkdocs-ansible +markupsafe==2.1.2 # via # jinja2 + # mkdocs-ansible # mkdocstrings mergedeep==1.3.4 - # via mkdocs + # via + # mkdocs + # mkdocs-ansible mkdocs==1.4.2 # via - # ansible-compat (pyproject.toml) + # mkdocs-ansible # mkdocs-autorefs - # mkdocs-exclude + # mkdocs-gen-files + # mkdocs-htmlproofer-plugin # mkdocs-material + # mkdocs-minify-plugin + # mkdocs-monorepo-plugin # mkdocstrings -mkdocs-autorefs==0.4.1 - # via mkdocstrings -mkdocs-exclude==1.0.2 - # via ansible-compat (pyproject.toml) -mkdocs-material==8.5.11 +mkdocs-ansible==0.1.4 # via ansible-compat (pyproject.toml) +mkdocs-autorefs==0.4.1 + # via + # mkdocs-ansible + # mkdocstrings +mkdocs-gen-files==0.4.0 + # via mkdocs-ansible +mkdocs-htmlproofer-plugin==0.11.0 + # via mkdocs-ansible +mkdocs-material==9.1.5 + # via mkdocs-ansible mkdocs-material-extensions==1.1.1 # via - # ansible-compat (pyproject.toml) + # mkdocs-ansible # mkdocs-material -mkdocstrings==0.20.0 +mkdocs-minify-plugin==0.6.4 + # via mkdocs-ansible +mkdocs-monorepo-plugin==1.0.4 + # via mkdocs-ansible +mkdocstrings==0.21.2 # via - # ansible-compat (pyproject.toml) + # mkdocs-ansible # mkdocstrings-python -mkdocstrings-python==0.8.3 - # via ansible-compat (pyproject.toml) -more-itertools==9.0.0 - # via pytest-plus -mypy-extensions==0.4.3 +mkdocstrings-python==0.9.0 + # via mkdocs-ansible +mypy-extensions==1.0.0 # via black -packaging==22.0 +packaging==23.0 # via # ansible-compat (pyproject.toml) # ansible-core + # black # build # mkdocs + # mkdocs-ansible # pytest -pathspec==0.10.3 +pathspec==0.11.1 # via black -pep517==0.13.0 - # via build -pillow==9.4.0 +pillow==9.5.0 # via - # ansible-compat (pyproject.toml) # cairosvg -pip==23.0 + # mkdocs-ansible +pip==23.0.1 # via pip-tools -pip-tools==6.11.0 +pip-tools==6.13.0 # via ansible-compat (pyproject.toml) -platformdirs==2.6.2 +pipdeptree==2.7.0 + # via mkdocs-ansible +platformdirs==3.2.0 # via black pluggy==1.0.0 # via pytest pycparser==2.21 - # via cffi -pygments==2.13.0 - # via mkdocs-material -pymdown-extensions==9.9.2 # via - # ansible-compat (pyproject.toml) + # cffi + # mkdocs-ansible +pygments==2.14.0 + # via + # mkdocs-ansible + # mkdocs-material +pymdown-extensions==9.10 + # via + # markdown-exec + # mkdocs-ansible # mkdocs-material # mkdocstrings -pyrsistent==0.19.2 +pyproject-hooks==1.0.0 + # via build +pyrsistent==0.19.3 # via jsonschema -pytest==7.2.0 +pytest==7.3.0 # via # ansible-compat (pyproject.toml) # pytest-mock # pytest-plus pytest-mock==3.10.0 # via ansible-compat (pyproject.toml) -pytest-plus==0.2 +pytest-plus==0.4.0 # via ansible-compat (pyproject.toml) python-dateutil==2.8.2 - # via ghp-import + # via + # ghp-import + # mkdocs-ansible +python-slugify==8.0.1 + # via + # mkdocs-ansible + # mkdocs-monorepo-plugin pyyaml==6.0 # via # ansible-compat (pyproject.toml) # ansible-core # mkdocs + # mkdocs-ansible + # pymdown-extensions # pyyaml-env-tag pyyaml-env-tag==0.1 - # via mkdocs -requests==2.28.1 - # via mkdocs-material + # via + # mkdocs + # mkdocs-ansible +regex==2023.3.23 + # via + # mkdocs-ansible + # mkdocs-material +requests==2.28.2 + # via + # mkdocs-ansible + # mkdocs-htmlproofer-plugin + # mkdocs-material resolvelib==0.8.1 # via ansible-core -setuptools==67.0.0 +setuptools==67.6.1 # via pip-tools six==1.16.0 - # via python-dateutil -slugify==0.0.1 - # via ansible-compat (pyproject.toml) + # via + # mkdocs-ansible + # python-dateutil +soupsieve==2.4 + # via + # beautifulsoup4 + # mkdocs-ansible subprocess-tee==0.4.1 # via ansible-compat (pyproject.toml) +text-unidecode==1.3 + # via + # mkdocs-ansible + # python-slugify tinycss2==1.2.1 # via # cairosvg # cssselect2 + # mkdocs-ansible tomli==2.0.1 # via # black # build - # pep517 + # pyproject-hooks # pytest -typing-extensions==4.4.0 - # via black -urllib3==1.26.13 - # via requests -watchdog==2.2.1 - # via mkdocs +typing-extensions==4.5.0 + # via + # black + # mkdocs-ansible + # mkdocstrings +urllib3==1.26.15 + # via + # mkdocs-ansible + # requests +watchdog==3.0.0 + # via + # mkdocs + # mkdocs-ansible webencodings==0.5.1 # via # cssselect2 + # mkdocs-ansible # tinycss2 -wheel==0.38.4 +wheel==0.40.0 # via pip-tools -zipp==3.11.0 - # via importlib-metadata +zipp==3.15.0 + # via + # importlib-metadata + # mkdocs-ansible # The following packages are considered to be unsafe in a requirements file: # ansible-core diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/src/ansible_compat/runtime.py new/ansible-compat-3.0.2/src/ansible_compat/runtime.py --- old/ansible-compat-3.0.1/src/ansible_compat/runtime.py 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/src/ansible_compat/runtime.py 2023-04-13 19:13:53.000000000 +0200 @@ -1,4 +1,4 @@ -"""Ansible runtime environment maanger.""" +"""Ansible runtime environment manager.""" import importlib import json import logging @@ -129,11 +129,12 @@ # For ansible 2.15+ we need to initialize the plugin loader # https://github.com/ansible/ansible-lint/issues/2945 if not Runtime.initialized: # noqa: F823 + col_path = [f"{self.cache_dir}/collections"] if self.version >= Version("2.15.0.dev0"): # pylint: disable=import-outside-toplevel,no-name-in-module from ansible.plugins.loader import init_plugin_loader - init_plugin_loader([]) + init_plugin_loader(col_path) else: # noinspection PyProtectedMember from ansible.utils.collection_loader._collection_finder import ( # pylint: disable=import-outside-toplevel @@ -142,10 +143,12 @@ # noinspection PyProtectedMember # pylint: disable=protected-access + col_path += self.config.collections_paths + col_path += os.path.dirname( + os.environ.get(ansible_collections_path(), ".") + ).split(":") _AnsibleCollectionFinder( - paths=[ - os.path.dirname(os.environ.get(ansible_collections_path(), ".")) - ] + paths=col_path )._install() # pylint: disable=protected-access Runtime.initialized = True @@ -250,14 +253,19 @@ if matches and Version(matches[1]).is_prerelease: cmd.append("--pre") - if destination: - cmd.extend(["-p", str(destination)]) + cpaths: List[str] = self.config.collections_paths + if destination and str(destination) not in cpaths: + # we cannot use '-p' because it breaks galaxy ability to ignore already installed collections, so + # we hack ansible_collections_path instead and inject our own path there. + # pylint: disable=no-member + cpaths.insert(0, str(destination)) cmd.append(f"{collection}") _logger.info("Running from %s : %s", os.getcwd(), " ".join(cmd)) run = self.exec( cmd, retry=True, + env={**self.environ, ansible_collections_path(): ":".join(cpaths)}, ) if run.returncode != 0: msg = f"Command returned {run.returncode} code:\n{run.stdout}\n{run.stderr}" @@ -293,6 +301,7 @@ force=True, ) + # pylint: disable=too-many-branches def install_requirements( self, requirement: str, retry: bool = False, offline: bool = False ) -> None: @@ -335,7 +344,6 @@ # Run galaxy collection install works on v2 requirements.yml if "collections" in reqs_yaml: - cmd = [ "ansible-galaxy", "collection", @@ -348,10 +356,20 @@ ) else: cmd.extend(["-r", requirement]) + cpaths = self.config.collections_paths if self.cache_dir: - cmd.extend(["-p", f"{self.cache_dir}/collections"]) + # we cannot use '-p' because it breaks galaxy ability to ignore already installed collections, so + # we hack ansible_collections_path instead and inject our own path there. + dest_path = f"{self.cache_dir}/collections" + if dest_path not in cpaths: + # pylint: disable=no-member + cpaths.insert(0, dest_path) _logger.info("Running %s", " ".join(cmd)) - result = self.exec(cmd, retry=retry) + result = self.exec( + cmd, + retry=retry, + env={**os.environ, "ANSIBLE_COLLECTIONS_PATH": ":".join(cpaths)}, + ) if result.returncode != 0: _logger.error(result.stdout) _logger.error(result.stderr) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/src/ansible_compat.egg-info/PKG-INFO new/ansible-compat-3.0.2/src/ansible_compat.egg-info/PKG-INFO --- old/ansible-compat-3.0.1/src/ansible_compat.egg-info/PKG-INFO 2023-02-01 13:13:45.000000000 +0100 +++ new/ansible-compat-3.0.2/src/ansible_compat.egg-info/PKG-INFO 2023-04-13 19:14:09.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: ansible-compat -Version: 3.0.1 +Version: 3.0.2 Summary: Ansible compatibility goodies Author-email: Sorin Sbarnea <ssbar...@redhat.com> Maintainer-email: Sorin Sbarnea <ssbar...@redhat.com> @@ -37,11 +37,12 @@ # ansible-compat [](https://pypi.org/project/ansible-compat/) -[](https://ansible-compat.readthedocs.io/en/latest/) +[](https://ansible-compat.readthedocs.io/) [](https://github.com/ansible/ansible-compat/actions/workflows/tox.yml) [](https://codecov.io/github/ansible/ansible-compat?branch=main) A python package contains functions that facilitate working with various versions of Ansible 2.12 and newer. -Documentation is available at [ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/en/latest/). +Documentation is available at +[ansible-compat.readthedocs.io](https://ansible-compat.readthedocs.io/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/src/ansible_compat.egg-info/SOURCES.txt new/ansible-compat-3.0.2/src/ansible_compat.egg-info/SOURCES.txt --- old/ansible-compat-3.0.1/src/ansible_compat.egg-info/SOURCES.txt 2023-02-01 13:13:45.000000000 +0100 +++ new/ansible-compat-3.0.2/src/ansible_compat.egg-info/SOURCES.txt 2023-04-13 19:14:09.000000000 +0200 @@ -1,6 +1,8 @@ .flake8 .gitignore .pre-commit-config.yaml +.prettierignore +.prettierrc.yaml .readthedocs.yml .yamllint LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/src/ansible_compat.egg-info/requires.txt new/ansible-compat-3.0.2/src/ansible_compat.egg-info/requires.txt --- old/ansible-compat-3.0.1/src/ansible_compat.egg-info/requires.txt 2023-02-01 13:13:45.000000000 +0100 +++ new/ansible-compat-3.0.2/src/ansible_compat.egg-info/requires.txt 2023-04-13 19:14:09.000000000 +0200 @@ -7,17 +7,7 @@ [docs] argparse-manpage black -cairosvg -markdown-include -mkdocs -mkdocs-exclude -mkdocs-material -mkdocs-material-extensions -mkdocstrings -mkdocstrings-python -pillow -pymdown-extensions -slugify +mkdocs-ansible[lock]>=0.1.2 [test] coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/test/conftest.py new/ansible-compat-3.0.2/test/conftest.py --- old/ansible-compat-3.0.1/test/conftest.py 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/test/conftest.py 2023-04-13 19:13:53.000000000 +0200 @@ -7,7 +7,7 @@ from ansible_compat.runtime import Runtime -@pytest.fixture +@pytest.fixture() # pylint: disable=unused-argument def runtime(scope: str = "session") -> Generator[Runtime, None, None]: """Isolated runtime fixture.""" @@ -16,7 +16,7 @@ instance.clean() -@pytest.fixture +@pytest.fixture() # pylint: disable=unused-argument def runtime_tmp( tmp_path: pathlib.Path, scope: str = "session" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-compat-3.0.1/tox.ini new/ansible-compat-3.0.2/tox.ini --- old/ansible-compat-3.0.1/tox.ini 2023-02-01 13:13:27.000000000 +0100 +++ new/ansible-compat-3.0.2/tox.ini 2023-04-13 19:13:53.000000000 +0200 @@ -37,6 +37,8 @@ # pytest users to run coverage when they just want to run a single test with `pytest -k test` coverage run -m pytest {posargs:} sh -c "coverage xml || true && coverage report" + # We fail if files are modified at the end + git diff --exit-code commands_pre = # safety measure to assure we do not accidentally run tests with broken dependencies {envpython} -m pip check @@ -63,6 +65,7 @@ FORCE_COLOR = 1 allowlist_externals = ansible + git sh [testenv:lint] @@ -90,7 +93,8 @@ deps = {[testenv:lint]deps} skip_install = true commands = - {[testenv:lint]commands} --hook-stage manual + pre-commit run -a --hook-stage manual pip-compile-upgrade + {[testenv:lint]commands} setenv = {[testenv]setenv} PIP_CONSTRAINT = /dev/null