Files
PowerShell/appveyor.yml
T

74 lines
3.2 KiB
YAML
Raw Normal View History

2016-01-22 11:36:23 -08:00
environment:
priv_key:
secure: <encryped-value>
2016-02-26 11:21:50 -08:00
cache:
2016-02-26 11:36:16 -08:00
- '%LocalAppData%\Microsoft\dotnet'
2016-02-26 11:21:50 -08:00
notifications:
- provider: Slack
incoming_webhook:
secure: bwwXBTeJBtRFea6FSQKzVENLwL0AOeusUSUFIh/TeHA4y0UFk7bC9+OcxgZW+YfIC0VZyTpZClJHlPFFHSgiQs4g9om17RxzJEeq4EjsW5g=
2016-01-22 11:36:23 -08: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-02-10 12:55:28 -08:00
- git submodule update --init --recursive -- src/monad src/windows-build src/Microsoft.PowerShell.Linux.Host/Modules/Pester
- ps: Invoke-WebRequest -Uri https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/install.ps1 -OutFile install.ps1
2016-03-07 13:59:22 -08:00
- ps: ./install.ps1 -version 1.0.0.001638 -channel beta
2016-01-22 11:36:23 -08:00
build_script:
2016-02-21 16:24:50 -08:00
- ps: |
$env:Path += ";$env:LocalAppData\Microsoft\dotnet\cli\bin"
Import-Module .\PowerShellGitHubDev.psm1
Start-PSBuild
2016-02-02 16:11:05 -08:00
- ps: .\build.fullCLR.ps1
2016-01-22 11:36:23 -08:00
test_script:
- ps: |
# fail tests execution, if any PS error detected
$ErrorActionPreference = 'Stop'
#
2016-02-03 17:29:27 -08:00
# CoreCLR
2016-01-22 11:36:23 -08:00
$testResultsFile = ".\TestsResults.xml"
2016-03-04 15:04:32 -08:00
.\bin\powershell.exe --noprofile -c "Import-Module .\bin\Modules\Microsoft.PowerShell.Platform; Invoke-Pester test/powershell -OutputFormat NUnitXml -OutputFile $testResultsFile"
2016-01-22 11:36:23 -08:00
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
2016-02-03 17:29:27 -08:00
#
# FullCLR
Import-Module .\PowerShellGitHubDev.psm1
2016-02-03 17:29:27 -08:00
$testResultsFile = ".\TestsResults.FullCLR.xml"
2016-03-04 15:04:32 -08:00
Start-DevPSGitHub -binDir $pwd\binFull -NoNewWindow -ArgumentList '-command', "Import-Module .\bin\Modules\Pester; Import-Module .\bin\Modules\Microsoft.PowerShell.Platform; Invoke-Pester test/fullCLR -OutputFormat NUnitXml -OutputFile $testResultsFile"
2016-02-03 17:29:27 -08:00
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
#
# Fail the build, if tests failed
2016-02-03 17:29:27 -08:00
$x = [xml](cat -raw .\TestsResults.FullCLR.xml)
if ([int]$x.'test-results'.failures -gt 0)
{
throw "$($x.'test-results'.failures) tests in test/fullCLR failed"
}
$x = [xml](cat -raw .\TestsResults.xml)
if ([int]$x.'test-results'.failures -gt 0)
{
throw "$($x.'test-results'.failures) tests in test/powershell failed"
}
2016-01-22 11:36:23 -08:00
2016-02-04 10:30:19 -08:00
on_finish:
2016-01-22 11:36:23 -08:00
- ps: |
# Creating project artifact
$zipFilePath = Join-Path $pwd "$(Split-Path $pwd -Leaf).zip"
2016-02-02 16:11:05 -08:00
$zipFileFullPath = Join-Path $pwd "$(Split-Path $pwd -Leaf).FullCLR.zip"
2016-01-22 11:36:23 -08:00
Add-Type -assemblyname System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory("$pwd\bin", $zipFilePath)
2016-02-02 16:11:05 -08:00
[System.IO.Compression.ZipFile]::CreateFromDirectory("$pwd\binFull", $zipFileFullPath)
2016-01-22 11:36:23 -08:00
@(
# You can add other artifacts here
2016-02-02 16:11:05 -08:00
$zipFilePath,
$zipFileFullPath
2016-01-22 11:36:23 -08:00
) | % {
Write-Host "Pushing package $_ as Appveyor artifact"
Push-AppveyorArtifact $_
}