mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
* Added functionality to improve failure triaging - Nunit logs will be created to tests. - Logs are copied to the Azure share. - Pester is run with -Quiet - Elevated and unelevated runs for tests with appropriate tags * Copy logs to Azure share and upload to CodeCov - Zip and copy to Azure log share - Upload to codecov using cygwin * Fixed varaible name in if condition * Addressed code review comments * Modified the destination folder structure for logs - Creates a folder structure for yyyy-MM and Windows for storing logs - Updated zip file name to not have illegal characters * Modifications as suggested by codecov.io
Code Coverage Automation
The script Start-CodeCoverageRun.ps1 automates the execution of tests and uploading the results to Coveralls.io.
The script is self contained and can be executed on any Windows system which supports Powershell v5.0 or above. It has not been tested on Powershell v6.0.
Execution
The virtual machine hosting the script has a scheduled task to start the tests at 5 am PDT.
The script follows the steps below:
- Download the code coverage binaries package from AppVeyor nightly builds artifacts (CodeCoverage.zip).
- Download the OpenCover powershell module from AppVeyor nightly builds artifacts. (OpenCover.zip)
- Download the tests from AppVeyor nightly builds artifacts (tests.zip)
- Download Coveralls.net from 'https://github.com/csMACnz/coveralls.net/releases/download/0.7.0/coveralls.net.0.7.0.nupkg'
- Invoke 'Install-OpenCover' to install OpenCover toolset.
- Invoke 'Invoke-OpenCover' to execute tests.
- Invoke powershell to get the git commit ID of the downloaded daily build package.
- Using the commit ID get committer info like, message, author and email using the github REST API.
- Invoke 'csmacnz.Coveralls.exe' to upload the coverage results to Coveralls.net
The uploaded coverage data can be viewed at: https://coveralls.io/github/PowerShell/PowerShell