Skip to content

Commit

Permalink
ansible-test - skip installing PowerShell sanity test reqs if they ar…
Browse files Browse the repository at this point in the history
…e already installed (ansible#72423)
  • Loading branch information
jborean93 authored Oct 31, 2020
1 parent 4b67348 commit 809d5fc
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
2 changes: 2 additions & 0 deletions changelogs/fragments/ps-sanity-requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bugfixes:
- ansible-test - Skip installing requirements if they are already installed.
23 changes: 21 additions & 2 deletions test/lib/ansible_test/_data/requirements/sanity.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,27 @@ Set-StrictMode -Version 2.0
$ErrorActionPreference = "Stop"
$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
Install-Module -Name PSScriptAnalyzer -RequiredVersion 1.18.0 -Scope CurrentUser
Install-PSModule -Name PSScriptAnalyzer -RequiredVersion 1.18.0

if ($IsContainer) {
# PSScriptAnalyzer contain lots of json files for the UseCompatibleCommands check. We don't use this rule so by
Expand All @@ -23,4 +42,4 @@ if ($IsContainer) {
}

# Installed the PSCustomUseLiteralPath rule
Install-Module -Name PSSA-PSCustomUseLiteralPath -RequiredVersion 0.1.1 -Scope CurrentUser
Install-PSModule -Name PSSA-PSCustomUseLiteralPath -RequiredVersion 0.1.1

0 comments on commit 809d5fc

Please sign in to comment.