diff --git a/BuildTasks/FullTests.Task.ps1 b/BuildTasks/Pester.Task.ps1 similarity index 82% rename from BuildTasks/FullTests.Task.ps1 rename to BuildTasks/Pester.Task.ps1 index 28f9e7a..01f0d29 100644 --- a/BuildTasks/FullTests.Task.ps1 +++ b/BuildTasks/Pester.Task.ps1 @@ -1,7 +1,7 @@ task FullTests { + $requiredPercent = $Script:CodeCoveragePercent + $params = @{ - CodeCoverage = 'Output\*\*.psm1' - CodeCoverageOutputFile = 'Output\codecoverage.xml' OutputFile = $testFile OutputFormat = 'NUnitXml' PassThru = $true @@ -10,13 +10,18 @@ task FullTests { Tag = 'Build' } + if($requiredPercent -gt 0.00) + { + $params['CodeCoverage'] = 'Output\*\*.psm1' + $params['CodeCoverageOutputFile'] = 'Output\codecoverage.xml' + } + $results = Invoke-Pester @params if ($results.FailedCount -gt 0) { Write-Error -Message "Failed [$($results.FailedCount)] Pester tests." } - $requiredPercent = $Script:CodeCoveragePercent $codeCoverage = $results.codecoverage.NumberOfCommandsExecuted / $results.codecoverage.NumberOfCommandsAnalyzed if($codeCoverage -lt $requiredPercent) { diff --git a/BuildTasks/PublishVersion.Task.ps1 b/BuildTasks/PublishVersion.Task.ps1 new file mode 100644 index 0000000..79c9eba --- /dev/null +++ b/BuildTasks/PublishVersion.Task.ps1 @@ -0,0 +1,7 @@ +task PublishVersion { + [version] $sourceVersion = (Get-Metadata -Path $manifestPath -PropertyName 'ModuleVersion') + "##vso[build.updatebuildnumber]$sourceVersion" + + # Do the same for appveyor + # https://www.appveyor.com/docs/build-worker-api/#update-build-details +} diff --git a/BuildTasks/SetVersion.Task.ps1 b/BuildTasks/SetVersion.Task.ps1 index 8f2412d..715af54 100644 --- a/BuildTasks/SetVersion.Task.ps1 +++ b/BuildTasks/SetVersion.Task.ps1 @@ -30,7 +30,7 @@ task SetVersion { $versionStamp = (git rev-parse origin/master) + (git rev-parse head) "Load current version" - [version] $sourceVersion = (Get-Metadata -Path $manifestPath -PropertyName 'ModuleVersion') + [version] $sourceVersion = (Get-Metadata -Path $manifestPath -PropertyName 'ModuleVersion') " Source version [$sourceVersion]" $downloadFolder = Join-Path -Path $output downloads diff --git a/Module.build.ps1 b/Module.build.ps1 index d40fae0..690fc54 100644 --- a/Module.build.ps1 +++ b/Module.build.ps1 @@ -2,11 +2,13 @@ $Script:ModuleName = Get-ChildItem .\*\*.psm1 | Select-object -ExpandProperty Ba $Script:CodeCoveragePercent = 0.0 # 0 to 1 . $psscriptroot\BuildTasks\InvokeBuildInit.ps1 -task Default Build, Test, UpdateSource, Helpify +task Default Build, Helpify, Test, UpdateSource task Build Copy, Compile, BuildModule, BuildManifest, SetVersion task Helpify GenerateMarkdown, GenerateHelp -task Test Build, ImportModule, FullTests -task Publish Build, Test, Helpify, PublishModule +task Test Build, ImportModule, Pester +task Publish Build, PublishVersion, Helpify, Test, PublishModule +task TFS Clean, Build, PublishVersion, Helpify, Test +task DevTest, ImportDevModule, Pester Write-Host 'Import common tasks' Get-ChildItem -Path $buildroot\BuildTasks\*.Task.ps1 |