Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# https://help.github.com/articles/about-codeowners/

# Areas are not limited to the filters defined in this file
# First Lets start with areas with no filters or paths
# First, let's start with areas with no filters or paths

# Area: Performance
# @adityapatwardhan
Expand All @@ -21,33 +21,33 @@
# Area: Cmdlets Core
# @JamesWTruher @SteveL-MSFT @anmenaga @chunqingchen

# Now Areas that should have paths or filters, although we might not have them defined
# According to the docs, Order here must be by precedence of the filter, with later rules overwritting
# Now, areas that should have paths or filters, although we might not have them defined
# According to the docs, order here must be by precedence of the filter, with later rules overwritting
# but the feature seems to make taking a union of all the matching rules.

# Area: CmdLets Management
# Area: Cmdlets Management
src/Microsoft.PowerShell.Commands.Management/ @daxian-dbw @adityapatwardhan

# Area: CmdLets Utility
# Area: Utility Cmdlets
src/Microsoft.PowerShell.Commands.Utility/ @JamesWTruher @PaulHigin

# Area: Console
src/Microsoft.PowerShell.ConsoleHost/ @daxian-dbw @anmenaga

# Area: Demo
# Area: Demos
demos/ @joeyaiello @SteveL-MSFT @HemantMahawar

# Area: DSC
src/System.Management.Automation/DscSupport @TravisEz13 @SteveL-MSFT

# Area: engine
# Area: Engine
src/System.Management.Automation/engine @daxian-dbw @BrucePay

# Area: Debugging
# Must be below engine to override
src/System.Management.Automation/engine/debugger/ @BrucePay @PaulHigin

# Area: help
# Area: Help
src/System.Management.Automation/help @Francisco-Gamino @adityapatwardhan

# Area: Intellisense
Expand Down
5 changes: 2 additions & 3 deletions .vsts-ci/templates/windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ jobs:
- powershell: |
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Import-Module .\tools\ci.psm1
Invoke-AppveyorInstall
Invoke-CIInstall
displayName: Bootstrap
condition: succeededOrFailed()

- powershell: |
Import-Module .\tools\ci.psm1
Invoke-AppveyorBuild
Invoke-CIBuild
displayName: Build
condition: succeeded()

Expand All @@ -40,4 +40,3 @@ jobs:
Invoke-CIxUnit -SkipFailing
displayName: xUnit Tests
condition: succeeded()

4 changes: 2 additions & 2 deletions .vsts-ci/templates/windows-packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ jobs:
- powershell: |
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Import-Module .\tools\ci.psm1
Invoke-AppveyorInstall
Invoke-CIInstall
displayName: Bootstrap
condition: succeededOrFailed()

- powershell: |
Import-Module .\tools\ci.psm1
Invoke-AppveyorFinish -NuGetKey $(NUGET_KEY)
Invoke-CIFinish -NuGetKey $(NUGET_KEY)
displayName: Build and Test Package
4 changes: 2 additions & 2 deletions .vsts-ci/templates/windows-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- powershell: |
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Import-Module .\tools\ci.psm1
Invoke-AppveyorInstall
Invoke-CIInstall
displayName: Bootstrap
condition: succeededOrFailed()

Expand All @@ -46,6 +46,6 @@ jobs:
$path = split-path -path $options.Output
$rootPath = split-Path -path $path
Expand-Archive -Path '$(System.ArtifactsDirectory)\build\build.zip' -DestinationPath $rootPath -Force
Invoke-AppveyorTest -Purpose '${{ parameters.purpose }}' -TagSet '${{ parameters.tagSet }}'
Invoke-CITest -Purpose '${{ parameters.purpose }}' -TagSet '${{ parameters.tagSet }}'
displayName: Test
condition: succeeded()
3 changes: 1 addition & 2 deletions docs/testing-guidelines/TestRoadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ Running code coverage more often on full PowerShell is something that we should
We currently run only those tests which are tagged `CI` excluding the tag `SLOW` as part of our continuous integration systems.
This means roughly 1/3rd of our github tests are not being run on any regular schedule.
In order to provide us with higher confidence in our code, we should be running *ALL* of our tests on a regular basis.
We have recently added to `AppVeyor` running all of our tests on a daily basis, but are not yet running these tests on Linux/Mac via `Travis`, which should be done.
However, running the tests is only the first step, we need an easy way to be notified of test failures, and to track progress of those runs over time.
Tracking this over time affords us the ability to see how our test count increases, implying an improvement in coverage.
It also provides us mechanism whereby we can see trends in instability.
Expand Down Expand Up @@ -194,4 +193,4 @@ Below is my suggestion for prioritization to reduce risk and improve confidence
6. Replace in-lab tests with PowerShell Core tests
7. Investigate feasibility of running current in-lab tests on PowerShell Core

These are [tracked](https://github.com/PowerShell/PowerShell/issues?utf8=%E2%9C%93&q=is%3Aissue%20%23testability%20) as issues
These are [tracked](https://github.com/PowerShell/PowerShell/issues?utf8=%E2%9C%93&q=is%3Aissue%20%23testability%20) as issues
Original file line number Diff line number Diff line change
Expand Up @@ -1113,7 +1113,6 @@ private static CommandInfo TryModuleAutoDiscovery(string commandName,
}
}

// TODO: this causes AppVeyor builds to fail due to invalid XML being output
#if !CORECLR
// Close the progress pane that may have popped up from analyzing UNC paths.
if (context.CurrentCommandProcessor != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Describe "Experimental Feature Basic Tests - Feature-Disabled" -tags "CI" {
$TestModule = Join-Path $PSScriptRoot "assets" "ExpTest"
$AssemblyPath = Join-Path $TestModule "ExpTest.dll"
if (-not (Test-Path $AssemblyPath)) {
## When using $SourcePath directly, 'Add-Type' fails in AppVeyor CI runs with an 'access denied' error.
## When using $SourcePath directly, 'Add-Type' fails in Windows CI runs with an 'access denied' error.
Comment thread
RDIL marked this conversation as resolved.
## It turns out Pester doesn't handle an exception like this from 'BeforeAll'. It causes the Pester to
## be somehow corrupted, and results in random failures in other tests.
## To work around this issue, we copy the source file to 'TestDrive' before calling 'Add-Type'.
Expand Down
24 changes: 12 additions & 12 deletions test/tools/Modules/HelpersRemoting/HelpersRemoting.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
# This module include help functions for writing remoting tests
#

$Script:AppVeyorRemoteCred = $null
$Script:CIRemoteCred = $null

if ($IsWindows) {
try { $Script:AppVeyorRemoteCred = Import-Clixml -Path "$env:TEMP\AppVeyorRemoteCred.xml" } catch { }
try { $Script:CIRemoteCred = Import-Clixml -Path "$env:TEMP\CIRemoteCred.xml" } catch { }
}

function Get-DefaultEndPointName
Expand Down Expand Up @@ -57,10 +57,10 @@ function New-RemoteRunspace

$wsmanConInfo.ShellUri = 'http://schemas.microsoft.com/powershell/' + $ConfigurationName

if ($Script:AppVeyorRemoteCred)
if ($Script:CIRemoteCred)
{
Write-Verbose "Using Global AppVeyor Credential" -Verbose
$wsmanConInfo.Credential = $Script:AppVeyorRemoteCred
Write-Verbose "Using Global CI Credential" -Verbose
$wsmanConInfo.Credential = $Script:CIRemoteCred
}
else
{
Expand Down Expand Up @@ -92,10 +92,10 @@ function New-RemoteRunspacePool
$wsmanConnection.ShellUri = "http://schemas.microsoft.com/powershell/$ConfigurationName"
}

if ($Script:AppVeyorRemoteCred)
if ($Script:CIRemoteCred)
{
Write-Verbose "Using Global AppVeyor Credential" -Verbose
$wsmanConnection.Credential = $Script:AppVeyorRemoteCred
Write-Verbose "Using Global CI Credential" -Verbose
$wsmanConnection.Credential = $Script:CIRemoteCred
}
else
{
Expand All @@ -104,7 +104,7 @@ function New-RemoteRunspacePool

[System.Management.Automation.Runspaces.RunspacePool] $remoteRunspacePool = [runspacefactory]::CreateRunspacePool($MinRunspace, $MaxRunspace, $wsmanConnection)
$remoteRunspacePool.Open()

return $remoteRunspacePool
}

Expand Down Expand Up @@ -154,10 +154,10 @@ function CreateParameters
}

## If a PSSession is provided, do not add credentials.
if ($Script:AppVeyorRemoteCred -and (-not $Session))
if ($Script:CIRemoteCred -and (-not $Session))
{
Write-Verbose "Using Global AppVeyor Credential" -Verbose
$parameters["Credential"] = $Script:AppVeyorRemoteCred
Write-Verbose "Using Global CI Credential" -Verbose
$parameters["Credential"] = $Script:CIRemoteCred
}
else
{
Expand Down
23 changes: 11 additions & 12 deletions tools/ci.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -156,25 +156,24 @@ Function Set-BuildVariable
}

# Emulates running all of CI but locally
function Invoke-AppVeyorFull
function Invoke-CIFull
Comment thread
RDIL marked this conversation as resolved.
{
param(
[switch] $APPVEYOR_SCHEDULED_BUILD,
[switch] $CleanRepo
)
if($CleanRepo)
{
Clear-PSRepo
}

Invoke-AppVeyorInstall
Invoke-AppVeyorBuild
Invoke-AppVeyorTest -ErrorAction Continue
Invoke-AppveyorFinish
Invoke-CIInstall
Invoke-CIBuild
Invoke-CITest -ErrorAction Continue
Invoke-CIFinish
}

# Implements the CI 'build_script' step
function Invoke-AppVeyorBuild
function Invoke-CIBuild
{
$releaseTag = Get-ReleaseTag
# check to be sure our test tags are correct
Expand Down Expand Up @@ -208,7 +207,7 @@ function Invoke-AppVeyorBuild
}

# Implements the CI 'install' step
function Invoke-AppVeyorInstall
function Invoke-CIInstall
{
# Make sure we have all the tags
Sync-PSTags -AddRemoteIfMissing
Expand Down Expand Up @@ -240,7 +239,7 @@ function Invoke-AppVeyorInstall
# Provide credentials globally for remote tests.
$ss = ConvertTo-SecureString -String $password -AsPlainText -Force
$ciRemoteCredential = [PSCredential]::new("$env:COMPUTERNAME\$userName", $ss)
$ciRemoteCredential | Export-Clixml -Path "$env:TEMP\AppVeyorRemoteCred.xml" -Force
$ciRemoteCredential | Export-Clixml -Path "$env:TEMP\CIRemoteCred.xml" -Force

# Check that LocalAccountTokenFilterPolicy policy is set, since it is needed for remoting
# using above local admin account.
Expand Down Expand Up @@ -304,7 +303,7 @@ function Invoke-CIxUnit
}

# Implement CI 'Test_script'
function Invoke-AppVeyorTest
function Invoke-CITest
{
[CmdletBinding()]
param(
Expand Down Expand Up @@ -434,7 +433,7 @@ function Invoke-AppVeyorTest
}

# Implement CI 'after_test' phase
function Invoke-AppVeyorAfterTest
function Invoke-CIAfterTest
{
[CmdletBinding()]
param()
Expand Down Expand Up @@ -524,7 +523,7 @@ function Get-ReleaseTag
}

# Implements CI 'on_finish' step
function Invoke-AppveyorFinish
function Invoke-CIFinish
{
param(
[string] $NuGetKey
Expand Down