-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.yaml
104 lines (89 loc) · 3.27 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
---
BuiltModuleSubDirectory: AvoidPSPathOverlap
####################################################
# 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
- pack
init: |
{
if ($PSVersionTable.PSEdition -ne 'Desktop') {
Write-Error "The build script required Windows PowerShell 5.1 to work"
}
}
datum:
- Init
- Clean
- LoadDatumConfigData
- TestConfigData
build:
- Init
- Clean
- LoadDatumConfigData
- TestConfigData
- CompileDatumRsop
- TestDscResources
- CompileRootConfiguration
- CompileRootMetaMof
pack:
- NewMofChecksums
- CompressModulesWithChecksum
- Compress_Artifact_Collections
- TestBuildAcceptance
####################################################
# PESTER Configuration #
####################################################
Pester:
OutputFormat: NUnitXML
# Excludes one or more paths from being used to calculate code coverage.
ExcludeFromCodeCoverage:
# If no scripts are defined the default is to use all the tests under the project's
# tests folder or source folder (if present). Test script paths can be defined to
# only run tests in certain folders, or run specific test files, or can be use to
# specify the order tests are run.
Script:
# - tests/QA/module.tests.ps1
# - tests/QA
# - tests/Unit
# - tests/Integration
ExcludeTag:
# - helpQuality
# - FunctionalQuality
# - TestQuality
Tag:
CodeCoverageThreshold: 0 # Set to 0 to bypass
#CodeCoverageOutputFile: JaCoCo_.xml
#CodeCoverageOutputFileEncoding: ascii
# Use this if code coverage should be merged from several pipeline test jobs.
# Any existing keys above should be replaced.
# CodeCoverageOutputFile - the file that is created for each pipeline test job.
# CodeCoverageFilePattern - the pattern used to search all pipeline test job artifacts
# after the file specified in CodeCoverageOutputFile.
# CodeCoverageMergedOutputFile - the file that is created by the merge build task and
# is the file that should be uploaded to code coverage services.
#CodeCoverageOutputFile: JaCoCo_Merge.xml
#CodeCoverageMergedOutputFile: JaCoCo_coverage.xml
#CodeCoverageFilePattern: JaCoCo_Merge.xml
# 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.DscPipeline:
- '*.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)"
""