diff --git a/SnipeitPS.build.ps1 b/SnipeitPS.build.ps1 index 03a623d..48a0ac9 100644 --- a/SnipeitPS.build.ps1 +++ b/SnipeitPS.build.ps1 @@ -88,15 +88,14 @@ task GitStatus -If (Test-Path .git) { } } -task TestVersions TestPS3, TestPS4, TestPS4, TestPS5 -task TestPS3 { - exec {powershell.exe -Version 3 -NoProfile Invoke-Build PesterTests} -} -task TestPS4 { - exec {powershell.exe -Version 4 -NoProfile Invoke-Build PesterTests} -} -task TestPS5 { - exec {powershell.exe -Version 5 -NoProfile Invoke-Build PesterTests} +task TestVersions TestPS + +task TestPS { + if($env:PShell -eq '7') { + exec {pwsh.exe -NoProfile Invoke-Build PesterTests} + }else { + exec {powershell.exe -NoProfile Invoke-Build PesterTests} + } } # Synopsis: Invoke Pester Tests diff --git a/SnipeitPS/SnipeitPS.psd1 b/SnipeitPS/SnipeitPS.psd1 index 9b5b712..f5c1113 100644 --- a/SnipeitPS/SnipeitPS.psd1 +++ b/SnipeitPS/SnipeitPS.psd1 @@ -33,7 +33,7 @@ Copyright = '(c) 2017 Stephen Maunder. All rights reserved.' Description = 'Powershell API for Snipeit Asset Management' # Minimum version of the Windows PowerShell engine required by this module -PowerShellVersion = '3.0' +PowerShellVersion = '5.1' # Name of the Windows PowerShell host required by this module # PowerShellHostName = '' diff --git a/appveyor.yml b/appveyor.yml index 228ef4f..3d616c3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,12 +7,15 @@ # ############################################################ -# This tells AppVeyor that we need WMF 5 and PowerShell 5.0 -os: WMF 5 +# powershell core and 5.1 +image: + - Visual Studio 2017 + - Visual Studio 2019 environment: PSGalleryAPIKey: secure: UdM6qhf5B0G8liHhUrwWERCZr44iSqmg4jUq0lwlTjZs4KyeoiwnBzdej0phqIAm + PShell: '5' version: 1.7.{build} @@ -53,15 +56,41 @@ before_build: build_script: - ps: Invoke-Build -Task Build -# after_build: - # - cmd: mdspell %releasePath%\**/*.md --ignore-numbers --ignore-acronyms --report - test_script: - ps: Invoke-Build -Task Test before_deploy: - ps: Invoke-Build -Task Deploy +#Build with powershell core +for: + - + matrix: + only: + - image: Visual Studio 2019 + environment: + - PShell: '7' + install: + - pwsh: | + Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force | Out-Null + Install-Module InvokeBuild -Scope CurrentUser -Force + Install-Module BuildHelpers -Scope CurrentUser -Force + Install-Module platyPS -Scope CurrentUser -Force + Install-Module Pester -Scope CurrentUser -Force + Install-Module PSScriptAnalyzer -Scope CurrentUser -Force + $env:releasePath = "$($pwd.Path)\Release" + before_build: + - pwsh: Invoke-Build -Task ShowDebug + build_script: + - pwsh: Invoke-Build -Task Build + + test_script: + - pwsh: Invoke-Build -Task Test + + before_deploy: + - pwsh: Invoke-Build -Task Deploy + + deploy: provider: GitHub release: v$(appveyor_build_version)