aca021aaad
Because the resulting archive is too big, so AppVeyor wastes time making it and testing it, and then refuses to upload it.
74 lines
3.1 KiB
YAML
74 lines
3.1 KiB
YAML
environment:
|
|
priv_key:
|
|
secure: <encryped-value>
|
|
|
|
cache:
|
|
- '%LocalAppData%\Microsoft\dotnet'
|
|
|
|
notifications:
|
|
- provider: Slack
|
|
incoming_webhook:
|
|
secure: bwwXBTeJBtRFea6FSQKzVENLwL0AOeusUSUFIh/TeHA4y0UFk7bC9+OcxgZW+YfIC0VZyTpZClJHlPFFHSgiQs4g9om17RxzJEeq4EjsW5g=
|
|
|
|
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/
|
|
- 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
|
|
- ps: ./install.ps1 -version 1.0.0.001598 -channel beta
|
|
|
|
build_script:
|
|
- ps: |
|
|
$env:Path += ";$env:LocalAppData\Microsoft\dotnet\cli\bin"
|
|
Import-Module .\PowerShellGitHubDev.psm1
|
|
Start-PSBuild
|
|
- ps: .\build.fullCLR.ps1
|
|
|
|
test_script:
|
|
- ps: |
|
|
# fail tests execution, if any PS error detected
|
|
$ErrorActionPreference = 'Stop'
|
|
#
|
|
# CoreCLR
|
|
$testResultsFile = ".\TestsResults.xml"
|
|
.\bin\powershell.exe --noprofile -c "Invoke-Pester test/powershell -OutputFormat NUnitXml -OutputFile $testResultsFile"
|
|
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
|
|
#
|
|
# FullCLR
|
|
Import-Module .\PowerShellGitHubDev.psm1
|
|
$testResultsFile = ".\TestsResults.FullCLR.xml"
|
|
Start-DevPSGitHub -binDir $pwd\binFull -NoNewWindow -ArgumentList '-command', "Import-Module .\bin\Modules\Pester; Invoke-Pester test/fullCLR -OutputFormat NUnitXml -OutputFile $testResultsFile"
|
|
(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
|
|
$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"
|
|
}
|
|
|
|
on_finish:
|
|
- ps: |
|
|
# Creating project artifact
|
|
$zipFilePath = Join-Path $pwd "$(Split-Path $pwd -Leaf).zip"
|
|
$zipFileFullPath = Join-Path $pwd "$(Split-Path $pwd -Leaf).FullCLR.zip"
|
|
Add-Type -assemblyname System.IO.Compression.FileSystem
|
|
[System.IO.Compression.ZipFile]::CreateFromDirectory("$pwd\bin", $zipFilePath)
|
|
[System.IO.Compression.ZipFile]::CreateFromDirectory("$pwd\binFull", $zipFileFullPath)
|
|
|
|
@(
|
|
# You can add other artifacts here
|
|
$zipFilePath,
|
|
$zipFileFullPath
|
|
) | % {
|
|
Write-Host "Pushing package $_ as Appveyor artifact"
|
|
Push-AppveyorArtifact $_
|
|
}
|