2016-03-15 21:22:47 +01:00
|
|
|
image: Visual Studio 2015
|
|
|
|
|
2016-03-12 03:24:43 +01:00
|
|
|
version: 0.2.0.{build}
|
|
|
|
|
2016-01-22 20:36:23 +01:00
|
|
|
environment:
|
|
|
|
priv_key:
|
|
|
|
secure: <encryped-value>
|
|
|
|
|
2016-02-03 05:09:10 +01:00
|
|
|
notifications:
|
|
|
|
- provider: Slack
|
|
|
|
incoming_webhook:
|
|
|
|
secure: bwwXBTeJBtRFea6FSQKzVENLwL0AOeusUSUFIh/TeHA4y0UFk7bC9+OcxgZW+YfIC0VZyTpZClJHlPFFHSgiQs4g9om17RxzJEeq4EjsW5g=
|
|
|
|
|
2016-01-22 20:36:23 +01:00
|
|
|
install:
|
|
|
|
- ps: $fileContent = "-----BEGIN RSA PRIVATE KEY-----`n"
|
|
|
|
- ps: $fileContent += $env:priv_key.Replace(' ', "`n")
|
|
|
|
- ps: $fileContent += "`n-----END RSA PRIVATE KEY-----`n"
|
|
|
|
- ps: Set-Content c:\users\appveyor\.ssh\id_rsa $fileContent
|
|
|
|
- git config --global url.git@github.com:.insteadOf https://github.com/
|
2016-04-02 04:15:41 +02:00
|
|
|
- git submodule update --init -- src/windows-build src/Modules/Pester
|
2016-04-14 00:21:02 +02:00
|
|
|
- ps: Import-Module .\PowerShellGitHubDev.psm1; Start-PSBootstrap
|
2016-01-22 20:36:23 +01:00
|
|
|
|
|
|
|
build_script:
|
2016-02-22 01:24:50 +01:00
|
|
|
- ps: |
|
2016-04-20 00:51:54 +02:00
|
|
|
$ErrorActionPreference = 'Stop'
|
2016-02-22 01:24:50 +01:00
|
|
|
Import-Module .\PowerShellGitHubDev.psm1
|
2016-04-09 01:08:12 +02:00
|
|
|
Start-PSBuild -Publish
|
2016-03-12 01:19:05 +01:00
|
|
|
Start-PSBuild -FullCLR
|
2016-01-22 20:36:23 +01:00
|
|
|
|
|
|
|
test_script:
|
|
|
|
- ps: |
|
2016-02-10 22:16:22 +01:00
|
|
|
# fail tests execution, if any PS error detected
|
|
|
|
$ErrorActionPreference = 'Stop'
|
2016-02-26 08:48:06 +01:00
|
|
|
#
|
2016-02-04 02:29:27 +01:00
|
|
|
# CoreCLR
|
2016-04-09 01:08:12 +02:00
|
|
|
$env:CoreOutput = "$pwd\src\Microsoft.PowerShell.CoreConsoleHost\bin\Debug\netstandardapp1.5\win81-x64\publish"
|
2016-03-12 03:24:43 +01:00
|
|
|
Write-Host -Foreground Green 'Run CoreCLR tests'
|
|
|
|
$testResultsFile = "$pwd\TestsResults.xml"
|
2016-04-02 06:01:10 +02:00
|
|
|
& ("$env:CoreOutput\powershell.exe") -c "Invoke-Pester test/powershell -OutputFormat NUnitXml -OutputFile $testResultsFile"
|
2016-01-22 20:36:23 +01:00
|
|
|
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
|
2016-02-04 02:29:27 +01:00
|
|
|
#
|
|
|
|
# FullCLR
|
2016-04-02 08:09:39 +02:00
|
|
|
$env:FullOutput = "$pwd\src\Microsoft.PowerShell.ConsoleHost\bin\Debug\net451"
|
2016-03-12 03:24:43 +01:00
|
|
|
Write-Host -Foreground Green 'Run FullCLR tests'
|
|
|
|
$testResultsFileFullCLR = "$pwd\TestsResults.FullCLR.xml"
|
2016-04-09 01:06:17 +02:00
|
|
|
Start-DevPSGitHub -binDir $env:FullOutput -NoNewWindow -ArgumentList '-command', "Import-Module .\src\Modules\Pester; Invoke-Pester test/fullCLR -OutputFormat NUnitXml -OutputFile $testResultsFileFullCLR"
|
2016-03-12 03:24:43 +01:00
|
|
|
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFileFullCLR))
|
2016-02-26 08:48:06 +01:00
|
|
|
#
|
|
|
|
# Fail the build, if tests failed
|
2016-03-12 03:24:43 +01:00
|
|
|
Write-Host -Foreground Green 'Upload CoreCLR test results'
|
|
|
|
$x = [xml](cat -raw $testResultsFile)
|
2016-02-04 02:29:27 +01:00
|
|
|
if ([int]$x.'test-results'.failures -gt 0)
|
|
|
|
{
|
2016-03-12 03:24:43 +01:00
|
|
|
throw "$($x.'test-results'.failures) tests in test/powershell failed"
|
2016-02-04 02:29:27 +01:00
|
|
|
}
|
2016-03-12 03:24:43 +01:00
|
|
|
Write-Host -Foreground Green 'Upload FullCLR test results'
|
|
|
|
$x = [xml](cat -raw $testResultsFileFullCLR)
|
2016-02-26 08:48:06 +01:00
|
|
|
if ([int]$x.'test-results'.failures -gt 0)
|
|
|
|
{
|
2016-03-12 03:24:43 +01:00
|
|
|
throw "$($x.'test-results'.failures) tests in test/fullCLR failed"
|
2016-02-26 08:48:06 +01:00
|
|
|
}
|
2016-01-22 20:36:23 +01:00
|
|
|
|
2016-03-12 03:24:43 +01:00
|
|
|
|
2016-02-04 19:30:19 +01:00
|
|
|
on_finish:
|
2016-01-22 20:36:23 +01:00
|
|
|
- ps: |
|
2016-04-20 00:51:54 +02:00
|
|
|
$ErrorActionPreference = 'Stop'
|
2016-04-20 01:00:09 +02:00
|
|
|
try {
|
|
|
|
# Creating project artifact
|
|
|
|
$name = git describe
|
|
|
|
$zipFilePath = Join-Path $pwd "$name.zip"
|
|
|
|
$zipFileFullPath = Join-Path $pwd "$name.FullCLR.zip"
|
|
|
|
Add-Type -assemblyname System.IO.Compression.FileSystem
|
|
|
|
[System.IO.Compression.ZipFile]::CreateFromDirectory($env:CoreOutput, $zipFilePath)
|
|
|
|
[System.IO.Compression.ZipFile]::CreateFromDirectory($env:FullOutput, $zipFileFullPath)
|
|
|
|
|
|
|
|
@(
|
|
|
|
# You can add other artifacts here
|
|
|
|
$zipFilePath,
|
|
|
|
$zipFileFullPath
|
|
|
|
) | % {
|
|
|
|
Write-Host "Pushing package $_ as Appveyor artifact"
|
|
|
|
Push-AppveyorArtifact $_
|
|
|
|
}
|
|
|
|
} catch {
|
|
|
|
Write-Host -Foreground Red $_
|
|
|
|
}
|