diff --git a/build.ps1 b/build.ps1 index 50a91be..09fe4ee 100755 --- a/build.ps1 +++ b/build.ps1 @@ -1,5 +1,5 @@ #!/usr/bin/env pwsh -#Requires -Version 7.0 -Modules @{ ModuleName='Pester'; ModuleVersion='5.1.1' } +#Requires -Version 7.0 -Modules @{ ModuleName='Pester'; ModuleVersion='5.2' } <# .SYNOPSIS @@ -29,8 +29,6 @@ $ErrorActionPreference = 'Stop' # Switch task switch ($Task) { 'Test' { - Write-Host "Set path to be = $(Join-Path $PSScriptRoot 'src')" - # Build Pester configuration $pesterConfiguration = @{ Run = @{ @@ -38,10 +36,9 @@ switch ($Task) { } CodeCoverage = @{ Enabled = $true - Path = (Join-Path $PSScriptRoot 'src' '*.ps1') } Output = @{ - Verbosity = 'Diagnostic' + Verbosity = 'Detailed' } } diff --git a/install-build-dependencies.ps1 b/install-build-dependencies.ps1 index 2123f7b..9c47368 100644 --- a/install-build-dependencies.ps1 +++ b/install-build-dependencies.ps1 @@ -19,9 +19,22 @@ if ($buildScriptAst.ScriptRequirements) { Scope = 'CurrentUser' Force = $true } - if ($_.Version) { $params['MinimumVersion'] = $_.Version } - elseif ($_.RequiredVersion) { $params['RequiredVersion'] = $_.RequiredVersion } - elseif ($_.MaximumVersion) { $params['MaximumVersion'] = $_.MaximumVersion } + + # Pester 5.1 has a bug preventing the codecoverage from being properly computed + # See https://github.com/pester/Pester/pull/1807 + # The fix will be in 5.2 which has not been released yet and since PowerShell does not support + # semantic versioning 2.0 (😱), we cannot rely on an alpha version in build.ps1 + # Temporarily force the alpha version here: + if ('Pester' -eq $params["Name"]) { + $params['RequiredVersion'] = '5.2.0-alpha3' + $params['AllowPrerelease'] = $true + } + + else { + if ($_.Version) { $params['MinimumVersion'] = $_.Version } + elseif ($_.RequiredVersion) { $params['RequiredVersion'] = $_.RequiredVersion } + elseif ($_.MaximumVersion) { $params['MaximumVersion'] = $_.MaximumVersion } + } # Install the module [PSCustomObject] $params | Format-Table