Skip to content

Commit 41c5da9

Browse files
committed
20230627B
1 parent 4850bd8 commit 41c5da9

File tree

7 files changed

+33
-25
lines changed

7 files changed

+33
-25
lines changed

hugoalh.GitHubActionsToolkit/module/command-base.psm1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Function Write-FileCommand {
3333
Param (
3434
[Parameter(Mandatory = $True, Position = 0, ValueFromPipelineByPropertyName = $True)][Alias('Command', 'LiteralPath'<# LEGACY #>, 'Path'<# LEGACY #>)][String]$FileCommand,
3535
[Parameter(Mandatory = $True, Position = 1, ValueFromPipelineByPropertyName = $True)][String]$Name,
36-
[Parameter(Mandatory = $True, Position = 2, ValueFromPipelineByPropertyName = $True)][String]$Value
36+
[Parameter(Mandatory = $True, Position = 2, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][String]$Value
3737
)
3838
Process {
3939
If (<# LEGACY #>[System.IO.Path]::IsPathFullyQualified($FileCommand)) {
@@ -52,7 +52,7 @@ Function Write-FileCommand {
5252
Return
5353
}
5454
}
55-
If ($Value -imatch '^.+$') {
55+
If ($Value -imatch '^.*$') {
5656
Add-Content -LiteralPath $FileCommandPath -Value "$Name=$Value" -Confirm:$False -Encoding 'UTF8NoBOM'
5757
}
5858
Else {
@@ -90,7 +90,7 @@ Function Write-StdOutCommand {
9090
Param (
9191
[Parameter(Mandatory = $True, Position = 0, ValueFromPipelineByPropertyName = $True)][ValidatePattern('^(?:[\da-z][\da-z_-]*)?[\da-z]$', ErrorMessage = '`{0}` is not a valid GitHub Actions stdout command!')][Alias('Command')][String]$StdOutCommand,
9292
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Parameters', 'Properties', 'Property')][Hashtable]$Parameter,
93-
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Content', 'Message')][String]$Value
93+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][Alias('Content', 'Message')][String]$Value
9494
)
9595
Process {
9696
Write-Host -Object "::$StdOutCommand$(($Parameter.Count -gt 0) ? " $(

hugoalh.GitHubActionsToolkit/module/log.psm1

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ Function Write-Annotation {
8080
Param (
8181
[Parameter(Mandatory = $True, Position = 0, ValueFromPipelineByPropertyName = $True)][GitHubActionsAnnotationType]$Type,
8282
[Parameter(Mandatory = $True, Position = 1, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][Alias('Content')][String]$Message,
83-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
83+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
8484
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineStart', 'StartLine')][UInt32]$Line,
8585
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Col', 'ColStart', 'ColumnStart', 'StartCol', 'StartColumn')][UInt32]$Column,
8686
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineEnd')][UInt32]$EndLine,
8787
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('ColEnd', 'ColumnEnd', 'EndCol')][UInt32]$EndColumn,
88-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
88+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
8989
)
9090
Process {
9191
Switch ($Type.GetHashCode()) {
@@ -131,17 +131,25 @@ GitHub Actions - Write Debug
131131
Print a debug message to the log.
132132
.PARAMETER Message
133133
Message that need to log at debug level.
134+
.PARAMETER SkipEmptyLine
135+
Whether to skip empty line.
134136
.OUTPUTS
135137
[Void]
136138
#>
137139
Function Write-Debug {
138140
[CmdletBinding(HelpUri = 'https://github.com/hugoalh-studio/ghactions-toolkit-powershell/wiki/api_function_writegithubactionsdebug')]
139141
[OutputType([Void])]
140142
Param (
141-
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][Alias('Content')][String]$Message
143+
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][Alias('Content')][String]$Message,
144+
[Alias('NoEmptyLine')][Switch]$SkipEmptyLine
142145
)
143146
Process {
144-
Write-GitHubActionsStdOutCommand -StdOutCommand 'debug' -Value $Message
147+
If (
148+
$SkipEmptyLine.IsPresent -or
149+
$Message.Length -gt 0
150+
) {
151+
Write-GitHubActionsStdOutCommand -StdOutCommand 'debug' -Value $Message
152+
}
145153
}
146154
}
147155
<#
@@ -171,12 +179,12 @@ Function Write-Error {
171179
[OutputType([Void])]
172180
Param (
173181
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][Alias('Content')][String]$Message,
174-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
182+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
175183
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineStart', 'StartLine')][UInt32]$Line,
176184
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Col', 'ColStart', 'ColumnStart', 'StartCol', 'StartColumn')][UInt32]$Column,
177185
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineEnd')][UInt32]$EndLine,
178186
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('ColEnd', 'ColumnEnd', 'EndCol')][UInt32]$EndColumn,
179-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
187+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
180188
)
181189
Process {
182190
Write-Annotation -Type 'Error' -Message $Message -File $File -Line $Line -Column $Column -EndLine $EndLine -EndColumn $EndColumn -Title $Title
@@ -213,19 +221,19 @@ Function Write-Fail {
213221
[OutputType([Void])]
214222
Param (
215223
[Parameter(Mandatory = $True, Position = 0)][Alias('Content')][String]$Message,
216-
[ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
224+
[AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
217225
[Alias('LineStart', 'StartLine')][UInt32]$Line,
218226
[Alias('Col', 'ColStart', 'ColumnStart', 'StartCol', 'StartColumn')][UInt32]$Column,
219227
[Alias('LineEnd')][UInt32]$EndLine,
220228
[Alias('ColEnd', 'ColumnEnd', 'EndCol')][UInt32]$EndColumn,
221-
[ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title,
229+
[AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title,
222230
[ScriptBlock]$Finally = {},
223231
[ValidateRange(1, [Byte]::MaxValue)][Byte]$ExitCode = 1
224232
)
225233
Write-Annotation -Type 'Error' -Message $Message -File $File -Line $Line -Column $Column -EndLine $EndLine -EndColumn $EndColumn -Title $Title
226234
Invoke-Command -ScriptBlock $Finally -ErrorAction 'Continue'
227235
Exit $ExitCode
228-
Exit 1# Fallback for safety.
236+
Exit 1# Fallback exit for safety.
229237
}
230238
<#
231239
.SYNOPSIS
@@ -254,12 +262,12 @@ Function Write-Notice {
254262
[OutputType([Void])]
255263
Param (
256264
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][Alias('Content')][String]$Message,
257-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
265+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
258266
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineStart', 'StartLine')][UInt32]$Line,
259267
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Col', 'ColStart', 'ColumnStart', 'StartCol', 'StartColumn')][UInt32]$Column,
260268
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineEnd')][UInt32]$EndLine,
261269
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('ColEnd', 'ColumnEnd', 'EndCol')][UInt32]$EndColumn,
262-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
270+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
263271
)
264272
Process {
265273
Write-Annotation -Type 'Notice' -Message $Message -File $File -Line $Line -Column $Column -EndLine $EndLine -EndColumn $EndColumn -Title $Title
@@ -328,12 +336,12 @@ Function Write-Warning {
328336
[OutputType([Void])]
329337
Param (
330338
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][Alias('Content')][String]$Message,
331-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
339+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `File` must be in single line string!')][Alias('Path')][String]$File,
332340
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineStart', 'StartLine')][UInt32]$Line,
333341
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Col', 'ColStart', 'ColumnStart', 'StartCol', 'StartColumn')][UInt32]$Column,
334342
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('LineEnd')][UInt32]$EndLine,
335343
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('ColEnd', 'ColumnEnd', 'EndCol')][UInt32]$EndColumn,
336-
[Parameter(ValueFromPipelineByPropertyName = $True)][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
344+
[Parameter(ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][ValidatePattern('^.*$', ErrorMessage = 'Parameter `Title` must be in single line string!')][Alias('Header')][String]$Title
337345
)
338346
Process {
339347
Write-Annotation -Type 'Warning' -Message $Message -File $File -Line $Line -Column $Column -EndLine $EndLine -EndColumn $EndColumn -Title $Title

hugoalh.GitHubActionsToolkit/module/markup.psm1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Function ConvertFrom-CsvM {
1616
[CmdletBinding(HelpUri = 'https://github.com/hugoalh-studio/ghactions-toolkit-powershell/wiki/api_function_convertfromgithubactionscsvm')]
1717
[OutputType(([Hashtable[]], [PSCustomObject[]]))]
1818
Param (
19-
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True)][AllowEmptyString()][Alias('Input', 'Object')][String]$InputObject,
19+
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True)][AllowEmptyString()][AllowNull()][Alias('Input', 'Object')][String]$InputObject,
2020
[Alias('ToHashtable')][Switch]$AsHashtable
2121
)
2222
Process {
@@ -48,7 +48,7 @@ Function ConvertFrom-CsvS {
4848
[CmdletBinding(HelpUri = 'https://github.com/hugoalh-studio/ghactions-toolkit-powershell/wiki/api_function_convertfromgithubactionscsvs')]
4949
[OutputType(([Hashtable[]], [PSCustomObject[]]))]
5050
Param (
51-
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True)][AllowEmptyString()][Alias('Input', 'Object')][String]$InputObject,
51+
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True)][AllowEmptyString()][AllowNull()][Alias('Input', 'Object')][String]$InputObject,
5252
[Alias('ToHashtable')][Switch]$AsHashtable
5353
)
5454
Process {

hugoalh.GitHubActionsToolkit/module/open-id-connect.psm1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Function Get-OpenIdConnectToken {
1919
[CmdletBinding(HelpUri = 'https://github.com/hugoalh-studio/ghactions-toolkit-powershell/wiki/api_function_getgithubactionsopenidconnecttoken')]
2020
[OutputType([String])]
2121
Param (
22-
[Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][String]$Audience,
22+
[Parameter(Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][String]$Audience,
2323
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('NodeJs', 'NodeJsWrapper', 'UseNodeJs')][Switch]$UseNodeJsWrapper# Deprecated.
2424
)
2525
Process {

hugoalh.GitHubActionsToolkit/module/parameter.psm1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ Function Set-Output {
177177
Param (
178178
[Parameter(Mandatory = $True, ParameterSetName = 'Multiple', Position = 0, ValueFromPipeline = $True)][ValidateScript({ Test-ParameterInputObject -InputObject $_ })][Alias('Input', 'Object')]$InputObject,
179179
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 0, ValueFromPipelineByPropertyName = $True)][ValidatePattern('^(?:[\da-z][\da-z_-]*)?[\da-z]$', ErrorMessage = '`{0}` is not a valid GitHub Actions output name!')][Alias('Key')][String]$Name,
180-
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 1, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][String]$Value
180+
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 1, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][String]$Value
181181
)
182182
Process {
183183
If ($PSCmdlet.ParameterSetName -ieq 'Multiple') {
@@ -216,7 +216,7 @@ Function Set-State {
216216
Param (
217217
[Parameter(Mandatory = $True, ParameterSetName = 'Multiple', Position = 0, ValueFromPipeline = $True)][ValidateScript({ Test-ParameterInputObject -InputObject $_ })][Alias('Input', 'Object')]$InputObject,
218218
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 0, ValueFromPipelineByPropertyName = $True)][ValidatePattern('^(?:[\da-z][\da-z_-]*)?[\da-z]$', ErrorMessage = '`{0}` is not a valid GitHub Actions state name!')][Alias('Key')][String]$Name,
219-
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 1, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][String]$Value
219+
[Parameter(Mandatory = $True, ParameterSetName = 'Single', Position = 1, ValueFromPipelineByPropertyName = $True)][AllowEmptyString()][AllowNull()][String]$Value
220220
)
221221
Process {
222222
If ($PSCmdlet.ParameterSetName -ieq 'Multiple') {

hugoalh.GitHubActionsToolkit/module/step-summary.psm1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ Function Add-StepSummaryImage {
127127
[OutputType([Void])]
128128
Param (
129129
[Parameter(Mandatory = $True, Position = 0)][Alias('Url')][String]$Uri,
130-
[String]$Title,
131-
[Alias('Alt', 'AltText')][String]$AlternativeText,
130+
[AllowEmptyString()][AllowNull()][String]$Title,
131+
[AllowEmptyString()][AllowNull()][Alias('Alt', 'AltText')][String]$AlternativeText,
132132
[ValidateRange(0, [Int32]::MaxValue)][Int32]$Width = -1,
133133
[ValidateRange(0, [Int32]::MaxValue)][Int32]$Height = -1,
134134
[Switch]$NoNewLine
@@ -187,7 +187,7 @@ Function Add-StepSummaryLink {
187187
Param (
188188
[Parameter(Mandatory = $True, Position = 0)][String]$Text,
189189
[Parameter(Mandatory = $True, Position = 1)][Alias('Url')][String]$Uri,
190-
[String]$Title,
190+
[AllowEmptyString()][AllowNull()][String]$Title,
191191
[Switch]$NoNewLine
192192
)
193193
[String]$ResultMarkdown = "[$([System.Web.HttpUtility]::HtmlAttributeEncode($Text))]($([Uri]::EscapeUriString($Uri))"

hugoalh.GitHubActionsToolkit/module/tool-cache.psm1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ Function Invoke-ToolCacheToolDownloader {
144144
[Parameter(Mandatory = $True, Position = 0, ValueFromPipeline = $True, ValueFromPipelineByPropertyName = $True)][ValidateScript({ ($Null -ine $_.AbsoluteUri) -and ($_.Scheme -imatch '^https?$') }, ErrorMessage = '`{0}` is not a valid URI!')][Alias('Source', 'Url')][Uri]$Uri,
145145
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Target')][String]$Destination,
146146
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Auth')][String]$Authorization,
147-
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Headers')][Hashtable]$Header
147+
[Parameter(ValueFromPipelineByPropertyName = $True)][Alias('Headers')][Hashtable]$Header = @{}
148148
)
149149
Process {
150150
[Hashtable]$Argument = @{

0 commit comments

Comments
 (0)