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 2022-10-08 01:23:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ansible-compat (Old)
and /work/SRC/openSUSE:Factory/.python-ansible-compat.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ansible-compat"
Sat Oct 8 01:23:12 2022 rev:6 rq:1008323 version:2.2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-ansible-compat/python-ansible-compat.changes
2022-08-05 19:51:03.445464401 +0200
+++
/work/SRC/openSUSE:Factory/.python-ansible-compat.new.2275/python-ansible-compat.changes
2022-10-08 01:23:16.469961242 +0200
@@ -1,0 +2,8 @@
+Sun Sep 25 12:50:57 UTC 2022 - Johannes Kastl <[email protected]>
+
+- update to 2.2.1:
+ * Bugfixes
+ - Avoid galaxy install failure with already symlinked collections (#166)
@ssbarnea
+ - Avoid python warning about unknown warning category (#164) @ssbarnea
+
+-------------------------------------------------------------------
Old:
----
ansible-compat-2.2.0.tar.gz
New:
----
ansible-compat-2.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ansible-compat.spec ++++++
--- /var/tmp/diff_new_pack.tgPfza/_old 2022-10-08 01:23:16.873962168 +0200
+++ /var/tmp/diff_new_pack.tgPfza/_new 2022-10-08 01:23:16.877962178 +0200
@@ -19,7 +19,7 @@
# only works with the python version which the package 'ansible' uses
%define pythons python3
Name: python-ansible-compat
-Version: 2.2.0
+Version: 2.2.1
Release: 0
Summary: Compatibility shim for Ansible 2.9 and newer
License: MIT
++++++ ansible-compat-2.2.0.tar.gz -> ansible-compat-2.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/.github/workflows/tox.yml
new/ansible-compat-2.2.1/.github/workflows/tox.yml
--- old/ansible-compat-2.2.0/.github/workflows/tox.yml 2022-07-13
19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/.github/workflows/tox.yml 2022-09-23
16:37:12.000000000 +0200
@@ -8,9 +8,6 @@
branches: # any integration branch but not tag
- "main"
pull_request:
- release:
- types:
- - published # It seems that you can publish directly without creating
schedule:
- cron: 1 0 * * * # Run daily at 0:01 UTC
# Run every Friday at 18:02 UTC
@@ -20,8 +17,7 @@
jobs:
linters:
- name: >-
- ${{ matrix.env.TOXENV }}
+ name: ${{ matrix.env.TOXENV }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -83,42 +79,40 @@
unit:
name: ${{ matrix.name || matrix.tox_env }}
- runs-on: ${{ matrix.os }}
+ runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
strategy:
- # fail-fast: false
- # max-parallel: 5
- # The matrix testing goal is to cover the *most likely* environments
- # which are expected to be used by users in production. Avoid adding a
- # combination unless there are good reasons to test it, like having
- # proof that we failed to catch a bug by not running it. Using
- # distribution should be prefferred instead of custom builds.
+ fail-fast: false
matrix:
name:
# cannot use "," in name as it will break actions/cache
- py38
tox_env:
- - py38,py38-ansible29
+ - py38
python-version:
- "3.8"
- os:
- #
https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
- - ubuntu-20.04
- # - windows-latest
- # - windows-2016
include:
# keep list sorted as it determines UI order too
# linux (py38 comes from matrix):
+ - name: py38-ansible29
+ tox_env: py38-ansible29
+ python-version: 3.8
+ - name: py38-ansible210
+ tox_env: py38-ansible210
+ python-version: 3.8
+ - name: py38-ansible211
+ tox_env: py38-ansible211
+ python-version: 3.8
+ - name: py38-ansible212
+ tox_env: py38-ansible212
+ python-version: 3.8
- name: py39
tox_env: py39,py39-devel
- os: ubuntu-20.04
python-version: 3.9
- name: py310
tox_env: py310,py310-devel
- os: ubuntu-20.04
python-version: "3.10"
- name: py311
tox_env: py311,py311-devel
- os: ubuntu-20.04
python-version: "~3.11.0-0" # see
https://github.com/actions/setup-python/issues/213#issuecomment-1146676713
# macos
- name: py38@macos
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/.pre-commit-config.yaml
new/ansible-compat-2.2.1/.pre-commit-config.yaml
--- old/ansible-compat-2.2.0/.pre-commit-config.yaml 2022-07-13
19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/.pre-commit-config.yaml 2022-09-23
16:37:12.000000000 +0200
@@ -16,7 +16,7 @@
repos:
- repo: https://github.com/pre-commit/mirrors-prettier
# keep it before yamllint
- rev: "v2.7.1"
+ rev: "v3.0.0-alpha.0"
hooks:
- id: prettier
additional_dependencies:
@@ -39,15 +39,15 @@
- id: debug-statements
language_version: python3
- repo: https://github.com/codespell-project/codespell
- rev: v2.1.0
+ rev: v2.2.1
hooks:
- id: codespell
- repo: https://github.com/PyCQA/doc8
- rev: 0.11.2
+ rev: v1.0.0
hooks:
- id: doc8
- repo: https://github.com/adrienverge/yamllint.git
- rev: v1.26.3
+ rev: v1.28.0
hooks:
- id: yamllint
files: \.(yaml|yml)$
@@ -61,12 +61,12 @@
#
https://github.com/pre-commit/mirrors-isort/issues/9#issuecomment-624404082
- --filter-files
- repo: https://github.com/psf/black
- rev: 22.6.0
+ rev: 22.8.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/pycqa/flake8.git
- rev: 4.0.1
+ rev: 5.0.4
hooks:
- id: flake8
language_version: python3
@@ -77,7 +77,7 @@
- flake8-rst-docstrings>=0.2.3
- flake8-rst>=0.8.0
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v0.961
+ rev: v0.971
hooks:
- id: mypy
# empty args needed in order to match mypy cli behavior
@@ -93,7 +93,7 @@
- types-pkg_resources
- types-jsonschema>=4.4.9
- repo: https://github.com/pycqa/pylint
- rev: v2.14.4
+ rev: v2.15.3
hooks:
- id: pylint
additional_dependencies:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/PKG-INFO
new/ansible-compat-2.2.1/PKG-INFO
--- old/ansible-compat-2.2.0/PKG-INFO 2022-07-13 19:33:35.006466600 +0200
+++ new/ansible-compat-2.2.1/PKG-INFO 2022-09-23 16:37:33.406576200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ansible-compat
-Version: 2.2.0
+Version: 2.2.1
Summary: Ansible compatibility goodies
Home-page: https://github.com/ansible-community/ansible-compat
Author: Sorin Sbarnea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/requirements.txt
new/ansible-compat-2.2.1/requirements.txt
--- old/ansible-compat-2.2.0/requirements.txt 2022-07-13 19:33:17.000000000
+0200
+++ new/ansible-compat-2.2.1/requirements.txt 2022-09-23 16:37:12.000000000
+0200
@@ -10,23 +10,23 @@
# via sphinx-ansible-theme
argh==0.26.2
# via sphinx-autobuild
-attrs==21.4.0
+attrs==22.1.0
# via
# jsonschema
# pytest
-babel==2.10.1
+babel==2.10.3
# via sphinx
build==0.8.0
# via pip-tools
-certifi==2022.5.18.1
+certifi==2022.9.14
# via requests
-charset-normalizer==2.0.12
+charset-normalizer==2.1.1
# via requests
click==8.1.3
# via pip-tools
commonmark==0.9.1
# via pytest-markdown
-coverage==6.3.3
+coverage==6.4.4
# via ansible-compat (setup.cfg)
docutils==0.17.1
# via
@@ -35,11 +35,11 @@
# sphinx-rtd-theme
flaky==3.7.0
# via ansible-compat (setup.cfg)
-idna==3.3
+idna==3.4
# via requests
-imagesize==1.3.0
+imagesize==1.4.1
# via sphinx
-importlib-metadata==4.11.3
+importlib-metadata==4.12.0
# via sphinx
iniconfig==1.1.1
# via pytest
@@ -47,7 +47,7 @@
# via
# myst-parser
# sphinx
-jsonschema==4.6.0
+jsonschema==4.16.0
# via ansible-compat (setup.cfg)
livereload==2.6.3
# via sphinx-autobuild
@@ -59,11 +59,11 @@
# via jinja2
mdit-py-plugins==0.3.0
# via myst-parser
-mdurl==0.1.1
+mdurl==0.1.2
# via markdown-it-py
-more-itertools==8.13.0
+more-itertools==8.14.0
# via pytest-plus
-myst-parser==0.17.2
+myst-parser==0.18.0
# via ansible-compat (setup.cfg)
packaging==21.3
# via
@@ -72,7 +72,7 @@
# sphinx
pathtools==0.1.2
# via sphinx-autobuild
-pep517==0.12.0
+pep517==0.13.0
# via build
pip-tools==6.8.0
# via ansible-compat (setup.cfg)
@@ -82,7 +82,7 @@
# via sphinx-autobuild
py==1.11.0
# via pytest
-pygments==2.12.0
+pygments==2.13.0
# via
# ansible-pygments
# sphinx
@@ -98,18 +98,18 @@
# pytest-plus
pytest-markdown==1.0.2
# via ansible-compat (setup.cfg)
-pytest-mock==3.7.0
+pytest-mock==3.8.2
# via ansible-compat (setup.cfg)
pytest-plus==0.2
# via ansible-compat (setup.cfg)
-pytz==2022.1
+pytz==2022.2.1
# via babel
pyyaml==6.0
# via
# ansible-compat (setup.cfg)
# myst-parser
# sphinx-autobuild
-requests==2.27.1
+requests==2.28.1
# via sphinx
six==1.16.0
# via livereload
@@ -147,19 +147,19 @@
# via
# build
# pep517
-tornado==6.1
+tornado==6.2
# via
# livereload
# sphinx-autobuild
-typing-extensions==4.2.0
+typing-extensions==4.3.0
# via myst-parser
-urllib3==1.26.9
+urllib3==1.26.12
# via requests
-watchdog==2.1.8
+watchdog==2.1.9
# via sphinx-autobuild
wheel==0.37.1
# via pip-tools
-zipp==3.8.0
+zipp==3.8.1
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/src/ansible_compat/loaders.py
new/ansible-compat-2.2.1/src/ansible_compat/loaders.py
--- old/ansible-compat-2.2.0/src/ansible_compat/loaders.py 2022-07-13
19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/src/ansible_compat/loaders.py 2022-09-23
16:37:12.000000000 +0200
@@ -1,10 +1,29 @@
"""Utilities for loading various files."""
+from __future__ import annotations
+
+import os
from typing import Any
import yaml
+from ansible_compat.errors import InvalidPrerequisiteError
+
def yaml_from_file(filepath: str) -> Any:
"""Return a loaded YAML file."""
with open(filepath, encoding="utf-8") as content:
return yaml.load(content, Loader=yaml.FullLoader)
+
+
+def colpath_from_path(filepath: str) -> str | None:
+ """Return a FQCN from a path."""
+ galaxy_file = f"{filepath}/galaxy.yml"
+ if os.path.exists(galaxy_file):
+ galaxy = yaml_from_file(galaxy_file)
+ for k in ("namespace", "name"):
+ if k not in galaxy:
+ raise InvalidPrerequisiteError(
+ f"{galaxy_file} is missing the following mandatory field
{k}"
+ )
+ return f"{galaxy['namespace']}/{galaxy['name']}"
+ return None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/src/ansible_compat/runtime.py
new/ansible-compat-2.2.1/src/ansible_compat/runtime.py
--- old/ansible-compat-2.2.0/src/ansible_compat/runtime.py 2022-07-13
19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/src/ansible_compat/runtime.py 2022-09-23
16:37:12.000000000 +0200
@@ -26,7 +26,7 @@
InvalidPrerequisiteError,
MissingAnsibleError,
)
-from ansible_compat.loaders import yaml_from_file
+from ansible_compat.loaders import colpath_from_path, yaml_from_file
from ansible_compat.prerun import get_cache_dir
if TYPE_CHECKING:
@@ -85,8 +85,11 @@
# Reduce noise from paramiko, unless user already defined
PYTHONWARNINGS
# paramiko/transport.py:236: CryptographyDeprecationWarning: Blowfish
has been deprecated
# https://github.com/paramiko/paramiko/issues/2038
+ # As CryptographyDeprecationWarning is not a builtin, we cannot use
+ # PYTHONWARNINGS to ignore it using category but we can use message.
+ # https://stackoverflow.com/q/68251969/99834
if "PYTHONWARNINGS" not in self.environ:
- self.environ["PYTHONWARNINGS"] =
"ignore::CryptographyDeprecationWarning"
+ self.environ["PYTHONWARNINGS"] = "ignore:Blowfish has been
deprecated"
if isolated:
self.cache_dir = get_cache_dir(self.project_dir)
@@ -312,7 +315,7 @@
_logger.error(run.stdout)
raise AnsibleCommandError(run)
- def prepare_environment(
+ def prepare_environment( # noqa: C901
self,
required_collections: Optional[Dict[str, str]] = None,
retry: bool = False,
@@ -349,6 +352,21 @@
return
if os.path.exists("galaxy.yml"):
+ if destination:
+ # while function can return None, that would not break the
logic
+ colpath =
f"{destination}/ansible_collections/{colpath_from_path(os.getcwd())}"
+ if os.path.islink(colpath):
+ if os.path.realpath(colpath) == os.getcwd():
+ _logger.warning(
+ "Found symlinked collection, skipping its
installation."
+ )
+ return
+ _logger.warning(
+ "Collection is symlinked, but not pointing to %s
directory, so we will remove it.",
+ os.getcwd(),
+ )
+ os.unlink(colpath)
+
# molecule scenario within a collection
self.install_collection_from_disk(".", destination=destination)
elif pathlib.Path().resolve().parent.name == "roles" and
os.path.exists(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/ansible-compat-2.2.0/src/ansible_compat.egg-info/PKG-INFO
new/ansible-compat-2.2.1/src/ansible_compat.egg-info/PKG-INFO
--- old/ansible-compat-2.2.0/src/ansible_compat.egg-info/PKG-INFO
2022-07-13 19:33:34.000000000 +0200
+++ new/ansible-compat-2.2.1/src/ansible_compat.egg-info/PKG-INFO
2022-09-23 16:37:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: ansible-compat
-Version: 2.2.0
+Version: 2.2.1
Summary: Ansible compatibility goodies
Home-page: https://github.com/ansible-community/ansible-compat
Author: Sorin Sbarnea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/test/test_runtime.py
new/ansible-compat-2.2.1/test/test_runtime.py
--- old/ansible-compat-2.2.0/test/test_runtime.py 2022-07-13
19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/test/test_runtime.py 2022-09-23
16:37:12.000000000 +0200
@@ -466,7 +466,7 @@
pathlib.Path(f"{runtime_tmp.project_dir}/meta/main.yml").touch()
# this should only raise a warning
runtime_tmp._install_galaxy_role(runtime_tmp.project_dir,
role_name_check=1)
- # this shoul test the bypass role name check path
+ # this should test the bypass role name check path
runtime_tmp._install_galaxy_role(runtime_tmp.project_dir,
role_name_check=2)
# this should raise an error
with pytest.raises(
@@ -643,16 +643,19 @@
"""Tests that we fail to install a broken collection."""
with remember_cwd("test/collections/acme.broken"):
runtime = Runtime(isolated=True)
- exception: Type[Exception]
- if runtime.version_in_range(upper="2.11"):
- exception = AnsibleCommandError
- msg = "Got 1 exit code while running: ansible-galaxy collection
build"
- else:
- exception = InvalidPrerequisiteError
- msg = "is missing the following mandatory"
- with pytest.raises(exception, match=msg):
- # this should call install_collection_from_disk(".")
+ with pytest.raises(RuntimeError) as exc_info:
runtime.prepare_environment(install_local=True)
+ # based on version of Ansible used, we might get a different error,
+ # but both errors should be considered acceptable
+ assert exc_info.type in (
+ RuntimeError,
+ AnsibleCompatError,
+ AnsibleCommandError,
+ InvalidPrerequisiteError,
+ )
+ assert exc_info.match(
+ "(is missing the following mandatory|Got 1 exit code while
running: ansible-galaxy collection build)"
+ )
def test_prepare_environment_offline_role() -> None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/ansible-compat-2.2.0/tox.ini
new/ansible-compat-2.2.1/tox.ini
--- old/ansible-compat-2.2.0/tox.ini 2022-07-13 19:33:17.000000000 +0200
+++ new/ansible-compat-2.2.1/tox.ini 2022-09-23 16:37:12.000000000 +0200
@@ -22,16 +22,18 @@
devel: ansible devel branch
ansible29: ansible 2.9
ansible210: ansible-base 2.10
+ ansible211: ansible-base 2.11
ansible212: ansible-core 2.12
- ansible213: ansible-core 2.12
+ ansible213: ansible-core 2.13
deps =
ansible29: ansible>=2.9,<2.10
ansible210: ansible-base>=2.10,<2.11
+ ansible211: ansible-core>=2.11,<2.12
ansible212: ansible-core>=2.12,<2.13
ansible213: ansible-core>=2.13,<2.14
devel: ansible-core @ git+https://github.com/ansible/ansible.git # GPLv3+
- # avoid installing ansible-core on -devel and on ansible29 envs:
- !devel-!ansible29: ansible-core
+ # avoid installing ansible-core on -devel, ansible29 and ansible210 envs:
+ !devel-!ansible29-!ansible210: ansible-core
--editable .[test]
commands =
@@ -80,6 +82,9 @@
passenv =
{[testenv]passenv}
PRE_COMMIT_HOME
+setenv =
+ {[testenv]setenv}
+ PIP_CONSTRAINT = /dev/null
[testenv:deps]
description = Bump all test dependencies