[stable-2.10] ansible-test - skip installing PowerShell sanity test reqs if they are already installed (#72423) (#72424)

(cherry picked from commit 809d5fc398)

Co-authored-by: Jordan Borean <jborean93@gmail.com>
This commit is contained in:
Sam Doran 2020-12-07 18:33:52 -05:00 committed by GitHub
parent 4e34aa0c19
commit 2a6b411a80
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 2 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Skip installing requirements if they are already installed.

View file

@ -10,8 +10,27 @@ Set-StrictMode -Version 2.0
$ErrorActionPreference = "Stop" $ErrorActionPreference = "Stop"
$ProgressPreference = 'SilentlyContinue' $ProgressPreference = 'SilentlyContinue'
Function Install-PSModule {
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[String]
$Name,
[Parameter(Mandatory=$true)]
[Version]
$RequiredVersion
)
# In case PSGallery is down we check if the module is already installed.
$installedModule = Get-Module -Name $Name -ListAvailable | Where-Object Version -eq $RequiredVersion
if (-not $installedModule) {
Install-Module -Name $Name -RequiredVersion $RequiredVersion -Scope CurrentUser
}
}
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module -Name PSScriptAnalyzer -RequiredVersion 1.18.0 -Scope CurrentUser Install-PSModule -Name PSScriptAnalyzer -RequiredVersion 1.18.0
if ($IsContainer) { if ($IsContainer) {
# PSScriptAnalyzer contain lots of json files for the UseCompatibleCommands check. We don't use this rule so by # PSScriptAnalyzer contain lots of json files for the UseCompatibleCommands check. We don't use this rule so by
@ -23,4 +42,4 @@ if ($IsContainer) {
} }
# Installed the PSCustomUseLiteralPath rule # Installed the PSCustomUseLiteralPath rule
Install-Module -Name PSSA-PSCustomUseLiteralPath -RequiredVersion 0.1.1 -Scope CurrentUser Install-PSModule -Name PSSA-PSCustomUseLiteralPath -RequiredVersion 0.1.1