forked from dsccommunity/xRemoteDesktopSessionHost
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.yaml
125 lines (109 loc) · 3.85 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
121
122
123
124
125
---
####################################################
# ModuleBuilder Configuration #
####################################################
# Path to the Module Manifest to build (where path will be resolved from)
# SourcePath: ./Sampler/Sampler.psd1
# Output Directory where ModuleBuilder will build the Module, relative to module manifest
# OutputDirectory: ../output/Sampler
CopyDirectories:
- en-US
- DSCResources
- Modules
Encoding: UTF8 # With BOM in WinPS, noBOM in PSCore.
# SemVer: '1.2.3'
# Suffix to add to Root module PSM1 after merge (here, the Set-Alias exporting IB tasks)
# suffix: suffix.ps1
VersionedOutputDirectory: true
####################################################
# ModuleBuilder Submodules Configuration #
####################################################
NestedModule:
DscResource.Common:
CopyOnly: true
Path: ./output/RequiredModules/DscResource.Common
AddToManifest: false
Exclude: PSGetModuleInfo.xml
####################################################
# Sampler Pipeline Configuration #
####################################################
# Defining 'Workflows' (suite of InvokeBuild tasks) to be run using their alias
BuildWorkflow:
'.': # "." is the default Invoke-Build workflow. It is called when no -Tasks is specified to the build.ps1
- build
- test
build:
- Clean
- Build_Module_ModuleBuilder
- Build_NestedModules_ModuleBuilder
- Create_changelog_release_output
pack:
- build
- package_module_nupkg
hqrmtest:
- DscResource_Tests_Stop_On_Fail
# defining test task to be run when invoking `./build.ps1 -Tasks test`
test:
- Pester_Tests_Stop_On_Fail
- Pester_if_Code_Coverage_Under_Threshold
- hqrmtest
publish:
- Publish_release_to_GitHub
- publish_module_to_gallery # runs if nuget is not available
####################################################
# PESTER Configuration #
####################################################
Pester: #Passthru, OutputFile, CodeCoverageOutputFile not supported
OutputFormat: NUnitXML
# Will look at every *.ps1 & *.psm1 under ModulePath, excepts when $_.FullName -match (Join-Path $ProjectPath $ExcludeFromCodeCoverageItem)
ExcludeFromCodeCoverage:
- Modules/DscResource.Common
# Default is to use the tests folder in the project folder or source folder (if present)
# can use it to prioritize: tests/QA, tests/Unit, tests/Integration
Script:
# - tests/QA/module.tests.ps1
# - tests/QA
- tests/Unit
# - tests/Integration
ExcludeTag:
Tag:
CodeCoverageThreshold: 85 # Set to 0 to bypass
DscTest:
ExcludeTag:
- "Common Tests - Validate Localization"
- "Common Tests - New Error-Level Script Analyzer Rules"
Tag:
ExcludeSourceFile:
- output
ExcludeModuleFile:
- Modules/DscResource.Common
Resolve-Dependency: #Parameters for Resolve-Dependency
#PSDependTarget: ./output/modules
#Proxy: ''
#ProxyCredential:
Gallery: 'PSGallery'
# AllowOldPowerShellGetModule: true
#MinimumPSDependVersion = '0.3.0'
AllowPrerelease: false
Verbose: false
ModuleBuildTasks:
# - ModuleName: 'alias to search'
Sampler:
- '*.build.Sampler.ib.tasks' # this means: import (dot source) all aliases ending with .ib.tasks exported by sampler module
# Invoke-Build Header to be used to 'decorate' the terminal output of the 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: dscbot
GitHubConfigUserEmail: [email protected]
UpdateChangelogOnPrerelease: false