mirror of
https://github.com/PowerShell/PSDscResources
synced 2026-06-21 13:45:29 +00:00
71 lines
3.0 KiB
YAML
71 lines
3.0 KiB
YAML
#---------------------------------#
|
|
# environment configuration #
|
|
#---------------------------------#
|
|
version: 2.4.{build}.0
|
|
install:
|
|
- git clone https://github.com/PowerShell/DscResource.Tests
|
|
- ps: Import-Module -Name .\Tests\TestHelpers\WMF5Dot1Installation.psm1 -Force
|
|
- ps: Install-Wmf5Dot1
|
|
- ps: Start-Sleep 5
|
|
- ps: Restart-Computer -Force
|
|
- ps: Start-Sleep 5
|
|
- ps: Write-Verbose -Message "Returned after restart with PSVersion $($PSVersionTable.PSVersion)" -Verbose
|
|
- ps: if ($PSVersionTable.PSVersion.Major -lt 5 -or $PSVersionTable.PSVersion.Minor -lt 1)
|
|
{
|
|
throw 'WMF 5.1 install failed'
|
|
}
|
|
- ps: Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
|
|
- ps: Install-Module -Name Pester -Repository PSGallery -Force
|
|
|
|
#---------------------------------#
|
|
# build configuration #
|
|
#---------------------------------#
|
|
|
|
build: false
|
|
|
|
#---------------------------------#
|
|
# test configuration #
|
|
#---------------------------------#
|
|
|
|
test_script:
|
|
- ps: |
|
|
$testResultsFile = ".\TestsResults.xml"
|
|
$res = Invoke-Pester -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 "PSDscResources.psd1"
|
|
(Get-Content $manifest -Raw).Replace("2.4.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
|
|
New-Nuspec -packageName $env:APPVEYOR_PROJECT_NAME -version $env:APPVEYOR_BUILD_VERSION -author "Microsoft" -owners "Microsoft" -licenseUrl "https://github.com/PowerShell/DscResources/blob/master/LICENSE" -projectUrl "https://github.com/$($env:APPVEYOR_REPO_NAME)" -packageDescription $env:APPVEYOR_PROJECT_NAME -tags "DesiredStateConfiguration DSC DSCResourceKit" -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 $_
|
|
}
|
|
|
|
|
|
|