-
Notifications
You must be signed in to change notification settings - Fork 38
/
build.yaml
120 lines (102 loc) · 2.86 KB
/
build.yaml
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
---
####################################################
# ModuleBuilder Configuration #
####################################################
CopyPaths:
- dsclibrary
- en-US
- samples
- schema
- support
- template
prefix: prefix.ps1
suffix: suffix.ps1
Encoding: UTF8
VersionedOutputDirectory: true
####################################################
# Sampler Pipeline Configuration #
####################################################
BuildWorkflow:
Compile_Help: |
{
<#
Execute in a separate PWSH session because platyPS tries
to load YamlDotNet.dll which conflicts with one loaded by
Module-Builder.
#>
if ([System.String]::IsNullOrEmpty($ENV:ModuleVersion))
{
Write-Host -Object 'ModuleVersion environment variable is not defined.'
$moduleVersion = ($BuildModuleOutput | Join-Path -ChildPath $ProjectName | Get-ChildItem -Attributes D | Sort-Object -Property Name)[0].Name
}
else
{
$moduleVersion = (($ENV:ModuleVersion -Split '-') -Split '\+')[0]
}
Write-Host -Object "Compiling help for version $moduleVersion."
$outputPath = "$BuildModuleOutput\$ProjectName\$moduleVersion"
$execute = "New-ExternalHelp -Path '$ProjectPath\docs' -OutputPath '$outputPath' -Force"
if ($IsCoreCLR)
{
$PowerShellExe = 'pwsh'
}
else
{
$PowerShellExe = 'powershell'
}
& $PowerShellExe -Command "`"$execute`""
}
'.':
- build
- test
build:
- Clean
- Build_Module_ModuleBuilder
- Build_NestedModules_ModuleBuilder
- Create_changelog_release_output
- Compile_Help
pack:
- build
- package_module_nupkg
test:
- Pester_Tests_Stop_On_Fail
- Pester_if_Code_Coverage_Under_Threshold
publish:
- Publish_release_to_GitHub
- publish_module_to_gallery
####################################################
# PESTER Configuration #
####################################################
Pester:
OutputFormat: NUnitXML
ExcludeFromCodeCoverage:
- dsclibrary
- support
Script:
- tests/Unit
ExcludeTag: Incomplete
Tag:
CodeCoverageThreshold: 55
Resolve-Dependency:
Gallery: 'PSGallery'
AllowPrerelease: false
Verbose: false
ModuleBuildTasks:
Sampler:
- '*.build.Sampler.ib.tasks'
TaskHeader: |
param($Path)
""
"=" * 79
Write-Build Cyan "`t`t`t$($Task.Name.replace("_"," ").ToUpper())"
Write-Build DarkGray "$(Get-BuildSynopsis $Task)"
"-" * 79
Write-Build DarkGray " $Path"
Write-Build DarkGray " $($Task.InvocationInfo.ScriptName):$($Task.InvocationInfo.ScriptLineNumber)"
""
GitHubConfig:
GitHubFilesToAdd:
- 'CHANGELOG.md'
GitHubConfigUserName: Daniel Scott-Raynsford
GitHubConfigUserEmail: [email protected]
UpdateChangelogOnPrerelease: false