forked from gaelcolas/Sampler
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.yaml
More file actions
135 lines (118 loc) · 4.33 KB
/
build.yaml
File metadata and controls
135 lines (118 loc) · 4.33 KB
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
127
128
129
130
131
132
133
134
135
---
####################################################
# 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
CopyPaths:
#- HelperSubmodule # This will be built as submodule instead
# - DSCResources
- ../.build/tasks
- en-US
- Templates
Encoding: UTF8
# 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 # relative to $buildroot, default to '$sourcePath/Modules/$NestedModuleName'
# # Destination: './output/$ProjectName/$ModuleVersionFolder/Modules/$NestedModuleName' # or override with path relative to $buildroot
# AddToManifest: false
# # include: '*.*'
# Exclude: PSGetModuleInfo.xml
#Filter:
####################################################
# PESTER Configuration #
####################################################
Pester:
# OutputFolder:
OutputFormat: NUnitXML
# Will look at every *.ps1 & *.psm1 under ModulePath, excepts when $_.FullName -match (Join-Path $ProjectPath $ExcludeFromCodeCoverageItem)
ExcludeFromCodeCoverage:
- tasks
- Templates
- Modules/DscResource.Common
- Assets
# 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/Unit/Public/Add-Sample.tests.ps1
# - tests/Unit/Public/New-SampleModule.tests.ps1
# - tests/QA
# - tests/Unit
# - tests/Integration
ExcludeTag:
Tag:
CodeCoverageThreshold: 10 # Set to 0 to bypass
DscTest:
ExcludeTag:
- "Common Tests - New Error-Level Script Analyzer Rules"
- "Common Tests - Validate Localization"
- "Common Tests - Validate Example Files To Be Published"
- "Common Tests - Validate Example Files"
Tag:
ExcludeSourceFile:
- output
- Modules/DscResource.Common
ExcludeModuleFile:
- Templates
- Modules/DscResource.Common
####################################################
# 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_nupkg_to_gallery # Deploy using Nuget
- publish_module_to_gallery # Deploy using cmdlet Publish-Module
- Publish_release_to_GitHub
- Create_ChangeLog_GitHub_PR
# 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.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)"
""
GitHubConfig:
GitHubFilesToAdd:
- 'CHANGELOG.md'
GitHubConfigUserName: gaelcolas
GitHubConfigUserEmail: gaelcolas@synedgy.com
UpdateChangelogOnPrerelease: false