mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-07 11:13:10 +00:00
* Fix detection of installed cargo packages with hyphens in name * Add changelog fragment * Fix outdated package detection * Add changelog fragment foraf4fae72* One more thing * Add idempotency tests (cherry picked from commitc18fdb43d7) Co-authored-by: jack1142 <6032823+jack1142@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
bugfixes:
|
||||
- cargo - fix incorrectly reported changed status for packages with a name containing a hyphen (https://github.com/ansible-collections/community.general/issues/4044, https://github.com/ansible-collections/community.general/pull/4052).
|
||||
- cargo - fix detection of outdated packages when ``state=latest`` (https://github.com/ansible-collections/community.general/pull/4052).
|
||||
@@ -112,7 +112,7 @@ class Cargo(object):
|
||||
cmd = ["install", "--list"]
|
||||
data, dummy = self._exec(cmd, True, False, False)
|
||||
|
||||
package_regex = re.compile(r"^(\w+) v(.+):$")
|
||||
package_regex = re.compile(r"^([\w\-]+) v(.+):$")
|
||||
installed = {}
|
||||
for line in data.splitlines():
|
||||
package_info = package_regex.match(line)
|
||||
@@ -136,11 +136,11 @@ class Cargo(object):
|
||||
installed_version = self.get_installed().get(name)
|
||||
|
||||
cmd = ["search", name, "--limit", "1"]
|
||||
data = self._exec(cmd, True, False, False)
|
||||
data, dummy = self._exec(cmd, True, False, False)
|
||||
|
||||
match = re.search(r'"(.+)"', data)
|
||||
if match:
|
||||
latest_version = match[1]
|
||||
latest_version = match.group(1)
|
||||
|
||||
return installed_version != latest_version
|
||||
|
||||
|
||||
@@ -5,21 +5,42 @@
|
||||
version: 0.1.0
|
||||
register: install_helloworld_010
|
||||
|
||||
- name: Install application helloworld-yliu 0.1.0 (idempotent)
|
||||
community.general.cargo:
|
||||
name: helloworld-yliu
|
||||
version: 0.1.0
|
||||
register: install_helloworld_010_idem
|
||||
|
||||
- name: Upgrade helloworld-yliu 0.1.0
|
||||
community.general.cargo:
|
||||
name: helloworld-yliu
|
||||
state: latest
|
||||
register: upgrade_helloworld_010
|
||||
|
||||
- name: Upgrade helloworld-yliu 0.1.0 (idempotent)
|
||||
community.general.cargo:
|
||||
name: helloworld-yliu
|
||||
state: latest
|
||||
register: upgrade_helloworld_010_idem
|
||||
|
||||
- name: Downgrade helloworld-yliu 0.1.0
|
||||
community.general.cargo:
|
||||
name: helloworld-yliu
|
||||
version: 0.1.0
|
||||
register: downgrade_helloworld_010
|
||||
|
||||
- name: Check assertions helloworld-yliu 0.1.0
|
||||
- name: Downgrade helloworld-yliu 0.1.0 (idempotent)
|
||||
community.general.cargo:
|
||||
name: helloworld-yliu
|
||||
version: 0.1.0
|
||||
register: downgrade_helloworld_010_idem
|
||||
|
||||
- name: Check assertions helloworld-yliu
|
||||
assert:
|
||||
that:
|
||||
- install_helloworld_010 is changed
|
||||
- install_helloworld_010_idem is not changed
|
||||
- upgrade_helloworld_010 is changed
|
||||
- upgrade_helloworld_010_idem is not changed
|
||||
- downgrade_helloworld_010 is changed
|
||||
- downgrade_helloworld_010_idem is not changed
|
||||
|
||||
Reference in New Issue
Block a user