win_chocolatey - fix beta version parsing (#52601)

This commit is contained in:
Jordan Borean 2019-02-20 08:16:48 +10:00 committed by GitHub
parent 9f7584e311
commit 1ec376abca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- win_chocolatey - Fix issue when parsing a beta Chocolatey install - https://github.com/ansible/ansible/issues/52331

View file

@ -292,7 +292,15 @@ Function Install-Chocolatey {
}
$actual_version = (Get-ChocolateyPackageVersion -choco_path $choco_app.Path -name chocolatey)[0]
if ([Version]$actual_version -lt [Version]"0.10.5") {
try {
# The Chocolatey version may not be in the strict form of major.minor.build and will fail to cast to
# System.Version. We want to warn if this is the case saying module behaviour may be incorrect.
$actual_version = [Version]$actual_version
} catch {
$module.Warn("Failed to parse Chocolatey version '$actual_version' for checking module requirements, module may not work correctly: $($_.Exception.Message)")
$actual_version = $null
}
if ($null -ne $actual_version -and $actual_version -lt [Version]"0.10.5") {
if ($module.CheckMode) {
$module.Result.skipped = $true
$module.Result.msg = "Skipped check mode run on win_chocolatey as choco.exe is too old, a real run would have upgraded the executable. Actual: '$actual_version', Minimum Version: '0.10.5'"