diff --git a/changelogs/fragments/11849-homebrew-cask-brew-version.yml b/changelogs/fragments/11849-homebrew-cask-brew-version.yml new file mode 100644 index 0000000000..6d17b6cab6 --- /dev/null +++ b/changelogs/fragments/11849-homebrew-cask-brew-version.yml @@ -0,0 +1,4 @@ +bugfixes: + - homebrew_cask - fix failure when ``brew --version`` returns a placeholder version string + (https://github.com/ansible-collections/community.general/issues/4708, + https://github.com/ansible-collections/community.general/pull/11849). diff --git a/plugins/modules/homebrew_cask.py b/plugins/modules/homebrew_cask.py index 17020768cb..316f3aef85 100644 --- a/plugins/modules/homebrew_cask.py +++ b/plugins/modules/homebrew_cask.py @@ -440,14 +440,18 @@ class HomebrewCask: return self.brew_version cmd = [self.brew_path, "--version"] - dummy, out, dummy = self.module.run_command(cmd, check_rc=True) pattern = r"Homebrew (.*)(\d+\.\d+\.\d+)(-dirty)?" rematch = re.search(pattern, out) if not rematch: self.module.fail_json(msg="Failed to match regex to get brew version", stdout=out) - self.brew_version = rematch.groups()[1] + + prefix, version, dummy = rematch.groups() + if ">=" in prefix: + version = "99.0.0" + + self.brew_version = version return self.brew_version def _brew_cask_command_is_deprecated(self):