-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathappveyor.yml
65 lines (56 loc) · 2.88 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Based on https://github.com/PowerShell/xWebAdministration/blob/dev/appveyor.yml
# MIT Licence: https://github.com/PowerShell/xWebAdministration/blob/dev/LICENSE
#---------------------------------#
# environment configuration #
#---------------------------------#
# This is necessary to use WMF5
os: WMF 5
version: 1.0.{build}
install:
- cinst -y pester
- ps: |
Get-PackageProvider -Name nuget -ForceBootstrap -Force
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
@(find-module 'PScribo' -Repository PSGallery -ErrorAction SilentlyContinue) | Install-Module -force
#---------------------------------#
# build configuration #
#---------------------------------#
build: off
#---------------------------------#
# test configuration #
#---------------------------------#
test_script:
- ps: |
$testResultsFile = ".\TestsResults.xml"
$res = Invoke-Pester -Path .\tests\ -OutputFormat NUnitXml -OutputFile $testResultsFile -PassThru
(New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile))
if ($res.FailedCount -gt 0) {
throw "$($res.FailedCount) tests failed."
}
#---------------------------------#
# deployment configuration #
#---------------------------------#
# scripts to run before deployment
deploy_script:
- ps: |
# Creating project artifact
$stagingDirectory = (Resolve-Path ..).Path
$manifest = Join-Path $pwd "Format-Pester\Format-Pester.psd1"
(Get-Content $manifest -Raw).Replace("1.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest
$zipFilePath = Join-Path $stagingDirectory "$(Split-Path $pwd -Leaf).zip"
Add-Type -assemblyname System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory($pwd, $zipFilePath)
<# Creating NuGet package artifact
# Required New-NuSpec from https://github.com/PowerShell/DscResource.Tests/blob/404f6ceed63f692f72394e50ad6e736d4213bd89/TestHelper.psm1#L11
New-Nuspec -packageName $env:APPVEYOR_PROJECT_NAME -version $env:APPVEYOR_BUILD_VERSION -author "Erwan Quelin" -owners "equelin" -licenseUrl "https://github.com/equelin/Format-Pester/blob/master/LICENSE" -projectUrl "https://github.com/$($env:APPVEYOR_REPO_NAME)" -packageDescription $env:APPVEYOR_PROJECT_NAME -tags "Pester PScribo" -destinationPath .
nuget pack ".\$($env:APPVEYOR_PROJECT_NAME).nuspec" -outputdirectory .
$nuGetPackageName = $env:APPVEYOR_PROJECT_NAME + "." + $env:APPVEYOR_BUILD_VERSION + ".nupkg"
$nuGetPackagePath = (Get-ChildItem $nuGetPackageName).FullName#>
@(
# You can add other artifacts here
$zipFilePath
#$nuGetPackagePath
) | % {
Write-Host "Pushing package $_ as Appveyor artifact"
Push-AppveyorArtifact $_
}