-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.yaml
132 lines (112 loc) · 4.42 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
126
---
####################################################
# ModuleBuilder Configuration #
####################################################
# Path to the Module Manifest to build (where path will be resolved from)
SourcePath: ../source/AzAuth.psd1
# Output Directory where ModuleBuilder will build the Module, relative to module manifest
OutputDirectory: ../../output/AzAuth
# BuiltModuleSubdirectory: module
CopyPaths:
# - ..source/en-US
- ../source/AzAuth.Core/bin/AzAuth.Core
- ../source/AzAuth.PS/bin/AzAuth.PS
- ../LICENSE
- ../CHANGELOG.md
Encoding: UTF8
# Can be used to manually specify module's semantic version if the preferred method of
# using GitVersion is not available, and it is not possible to set the session environment
# variable `$env:ModuleVersion`, nor setting the variable `$ModuleVersion`, in the
# PowerShell session (parent scope) before running the task `build`.
#SemVer: '99.0.0-preview1'
# Suffix to add to Root module PSM1 after merge (here, the Set-Alias exporting IB tasks)
# suffix: suffix.ps1
# prefix: prefix.ps1
VersionedOutputDirectory: true
####################################################
# ModuleBuilder Submodules Configuration #
####################################################
NestedModule:
# HelperSubmodule: # This is the first submodule to build into the output
# Path: ./*/Modules/HelperSubmodule/HelperSubmodule.psd1
# # is trimmed (remove metadata & Prerelease tag) and OutputDirectory expanded (the only one)
# OutputDirectory: ///Modules/HelperSubmodule
# VersionedOutputDirectory: false
# AddToManifest: false
# SemVer:
# # suffix:
# # prefix:
####################################################
# 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
compile:
- dotnetBuild
build:
- Clean
- compile
- Build_Module_ModuleBuilder
# - Build_NestedModules_ModuleBuilder
- setupALC
- updateMarkdownHelp
- repairPlatyPSHelp
- updateExternalHelp
- Create_changelog_release_output
pack:
- build
- package_module_nupkg
# Defining test task to be run when invoking `./build.ps1 -Tasks test`
test:
# Uncomment to modify the PSModulePath in the test pipeline (also requires the build configuration section SetPSModulePath).
# - Set_PSModulePath
- Pester_Tests_Stop_On_Fail
# Use this task if pipeline uses code coverage and the module is using the
# pattern of Public, Private, Enum, Classes.
#- Convert_Pester_Coverage
# - Pester_if_Code_Coverage_Under_Threshold
# Use this task when you have multiple parallel tests, which produce multiple
# code coverage files and needs to get merged into one file.
#merge:
#- Merge_CodeCoverage_Files
publish:
- publish_module_to_gallery
# - Publish_Release_To_GitHub
# - Publish_GitHub_Wiki_Content
####################################################
# PESTER Configuration #
####################################################
# Default is to use the tests folder in the project folder or source folder (if present)
Pester:
Configuration:
Output:
Verbosity: Detailed
StackTraceVerbosity: Full
CIFormat: Auto
TestResult:
OutputFormat: NUnitXML
OutputEncoding: UTF8
# Will look at every *.ps1 & *.psm1 under ModulePath, excepts when $_.FullName -match (Join-Path $ProjectPath $ExcludeFromCodeCoverageItem)
# Import ModuleBuilder tasks from a specific PowerShell module using the build
# task's alias. Wildcard * can be used to specify all tasks that has a similar
# prefix and or suffix. The module contain the task must be added as a required
# module in the file RequiredModules.psd1.
ModuleBuildTasks:
Sampler:
- '*.build.Sampler.ib.tasks'
Sampler.GitHubTasks:
- '*.ib.tasks'
# 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)"
""