environment: priv_key: secure: 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.001425 -channel beta build_script: - ps: $env:Path += ";$env:LocalAppData\Microsoft\dotnet\cli\bin" - ps: dotnet restore - ps: .\build.ps1 - 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)) # For now we don't fail the build if these tests failed # # 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)) # we want to fail the build, if these 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" } 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 $_ }