Skip to content

Commit e434034

Browse files
Add StepSummary_Mode input to control GitHub step summary sections in action.yml and update main.ps1 to handle summary logic
1 parent c80b707 commit e434034

File tree

2 files changed

+53
-8
lines changed

2 files changed

+53
-8
lines changed

action.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,18 @@ inputs:
2525
description: The working directory where the script will run from.
2626
required: false
2727
default: '.'
28+
StepSummary_Mode:
29+
description: Controls which sections to show in the GitHub step summary. Use 'Full' for all sections, 'None' to disable, or a comma-separated list of 'Missed,Executed,Files'.
30+
required: false
31+
default: Missed, Files
2832

2933
runs:
3034
using: composite
3135
steps:
3236
- name: Get-PesterCodeCoverage
3337
uses: PSModule/GitHub-Script@v1
38+
env:
39+
PSMODULE_GET_PESTERCODECOVERAGE_INPUT_StepSummary_Mode: ${{ inputs.StepSummary_Mode }}
3440
with:
3541
Debug: ${{ inputs.Debug }}
3642
Prerelease: ${{ inputs.Prerelease }}

scripts/main.ps1

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,39 @@ $command
233233
}
234234

235235
LogGroup 'Set step summary' {
236+
# Get the step summary mode from the environment variable
237+
$stepSummaryMode = $env:PSMODULE_GET_PESTERCODECOVERAGE_INPUT_StepSummary_Mode
238+
if ([string]::IsNullOrEmpty($stepSummaryMode)) {
239+
$stepSummaryMode = 'Full'
240+
}
241+
242+
Write-Verbose "Step Summary Mode: $stepSummaryMode"
243+
244+
# If mode is 'None', skip step summary generation completely
245+
if ($stepSummaryMode -eq 'None') {
246+
Write-Verbose 'Step summary is disabled'
247+
return
248+
}
249+
250+
# Define which sections to include
251+
$includeMissed = $false
252+
$includeExecuted = $false
253+
$includeFiles = $false
254+
255+
if ($stepSummaryMode -eq 'Full') {
256+
# Include all sections
257+
$includeMissed = $true
258+
$includeExecuted = $true
259+
$includeFiles = $true
260+
} else {
261+
# Parse comma-separated list
262+
$sections = $stepSummaryMode -split ',' | ForEach-Object { $_.Trim() }
263+
264+
$includeMissed = $sections -contains 'Missed'
265+
$includeExecuted = $sections -contains 'Executed'
266+
$includeFiles = $sections -contains 'Files'
267+
}
268+
236269
# -- Output the markdown to GitHub step summary --
237270
$markdown = Heading 1 'Code Coverage Report' {
238271

@@ -241,18 +274,24 @@ LogGroup 'Set step summary' {
241274
$stats
242275
}
243276

244-
Details "Missed commands [$($codeCoverage.CommandsMissedCount)]" {
245-
$missedForDisplay
277+
if ($includeMissed) {
278+
Details "Missed commands [$($codeCoverage.CommandsMissedCount)]" {
279+
$missedForDisplay
280+
}
246281
}
247282

248-
Details "Executed commands [$($codeCoverage.CommandsExecutedCount)]" {
249-
$executedForDisplay
283+
if ($includeExecuted) {
284+
Details "Executed commands [$($codeCoverage.CommandsExecutedCount)]" {
285+
$executedForDisplay
286+
}
250287
}
251288

252-
Details "Files analyzed [$($codeCoverage.FilesAnalyzedCount)]" {
253-
Paragraph {
254-
$codeCoverage.FilesAnalyzed | ForEach-Object {
255-
Write-Output "- $_"
289+
if ($includeFiles) {
290+
Details "Files analyzed [$($codeCoverage.FilesAnalyzedCount)]" {
291+
Paragraph {
292+
$codeCoverage.FilesAnalyzed | ForEach-Object {
293+
Write-Output "- $_"
294+
}
256295
}
257296
}
258297
}

0 commit comments

Comments
 (0)