Skip to content

Commit e388e42

Browse files
🩹 [CI]: Enhance Get-TestSuites workflow to include ModuleLocalTestSuites and improve test suite descriptions
1 parent 07e2afb commit e388e42

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

ā€Ž.github/workflows/Get-TestSuites.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,14 @@ on:
3636

3737
outputs:
3838
SourceCodeTestSuites:
39-
description: Source Code test suites to run.
39+
description: Source Code PSModule test suites to run.
4040
value: ${{ jobs.Get-TestSuites.outputs.SourceCodeTestSuites }}
4141
ModuleTestSuites:
42-
description: Module test suites to run.
42+
description: Module PSModule test suites to run.
4343
value: ${{ jobs.Get-TestSuites.outputs.ModuleTestSuites }}
44+
ModuleLocalTestSuites:
45+
description: Module local test suites to run.
46+
value: ${{ jobs.Get-TestSuites.outputs.ModuleLocalTestSuites }}
4447

4548
permissions:
4649
contents: read # to checkout the repo
@@ -52,6 +55,7 @@ jobs:
5255
outputs:
5356
SourceCodeTestSuites: ${{ fromJson(steps.Get-TestSuites.outputs.result).SourceCodeTestSuites }}
5457
ModuleTestSuites: ${{ fromJson(steps.Get-TestSuites.outputs.result).ModuleTestSuites }}
58+
ModuleLocalTestSuites: ${{ fromJson(steps.Get-TestSuites.outputs.result).ModuleLocalTestSuites }}
5559
steps:
5660
- name: Checkout Code
5761
uses: actions/checkout@v4
@@ -151,14 +155,30 @@ jobs:
151155
-not ($skipTests -contains 'All' -or $skipTests -contains $_.OSName -or $skipTests -contains 'SourceCode')
152156
} | Select-Object -Property RunsOn, OSName -Unique
153157
158+
# Generate ModuleTestSuites (static tests)
159+
$moduleTestSuites = $testSuites | Where-Object {
160+
$_.TestName -match '\.(Configuration|Container)\.ps1$' -and
161+
-not ($skipTests -contains 'All' -or $skipTests -contains $_.OSName -or $skipTests -contains 'Module')
162+
}
163+
164+
# Generate ModuleLocalTestSuites (local tests)
165+
$moduleLocalTestSuites = $testSuites | Where-Object {
166+
$_.TestName -match '\.Tests\.ps1$' -and
167+
-not ($skipTests -contains 'All' -or $skipTests -contains $_.OSName -or $skipTests -contains 'Module')
168+
}
169+
154170
# Display the generated matrices for verification.
155171
LogGroup 'Source Code Test Suites:' {
156172
$sourceCodeTestSuites | Format-Table -AutoSize | Out-String
157173
}
158174
LogGroup 'Module Test Suites:' {
159-
$testSuites | Format-Table -AutoSize | Out-String
175+
$moduleTestSuites | Format-Table -AutoSize | Out-String
176+
}
177+
LogGroup 'Module Local Test Suites:' {
178+
$moduleLocalTestSuites | Format-Table -AutoSize | Out-String
160179
}
161180
162181
# Pass the final objects to GitHub Actions output as JSON
163182
Set-GitHubOutput -Name SourceCodeTestSuites -Value ($sourceCodeTestSuites ?? '[]')
164-
Set-GitHubOutput -Name ModuleTestSuites -Value ($testSuites ?? '[]')
183+
Set-GitHubOutput -Name ModuleTestSuites -Value ($moduleTestSuites ?? '[]')
184+
Set-GitHubOutput -Name ModuleLocalTestSuites -Value ($moduleLocalTestSuites ?? '[]')

ā€Ž.github/workflows/workflow.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ jobs:
9999
RunsOn: ${{ matrix.RunsOn }}
100100
OS: ${{ matrix.OSName }}
101101
Name: ${{ inputs.Name }}
102-
SkipTests: ${{ inputs.SkipTests }}
103102
Debug: ${{ inputs.Debug }}
104103
Prerelease: ${{ inputs.Prerelease }}
105104
Verbose: ${{ inputs.Verbose }}
@@ -130,7 +129,7 @@ jobs:
130129

131130
Test-Module:
132131
name: Test-Module
133-
if: ${{ needs.Build-Module.result == 'success' && !cancelled() && needs.Get-TestSuites.outputs.SourceCodeTestSuites != '[]' }}
132+
if: ${{ needs.Build-Module.result == 'success' && !cancelled() && needs.Get-TestSuites.outputs.ModuleTestSuites != '[]' }}
134133
needs:
135134
- Build-Module
136135
- Get-TestSuites
@@ -144,7 +143,6 @@ jobs:
144143
RunsOn: ${{ matrix.RunsOn }}
145144
OS: ${{ matrix.OSName }}
146145
Name: ${{ inputs.Name }}
147-
SkipTests: ${{ inputs.SkipTests }}
148146
Debug: ${{ inputs.Debug }}
149147
Prerelease: ${{ inputs.Prerelease }}
150148
Verbose: ${{ inputs.Verbose }}
@@ -153,21 +151,20 @@ jobs:
153151

154152
Test-ModuleLocal:
155153
name: ${{ matrix.TestName }}
156-
if: ${{ needs.Build-Module.result == 'success' && !cancelled() && needs.Get-TestSuites.outputs.ModuleTestSuites != '[]' }}
154+
if: ${{ needs.Build-Module.result == 'success' && !cancelled() && needs.Get-TestSuites.outputs.ModuleLocalTestSuites != '[]' }}
157155
needs:
158156
- Build-Module
159157
- Get-TestSuites
160158
strategy:
161159
fail-fast: false
162160
matrix:
163-
include: ${{ fromJson(needs.Get-TestSuites.outputs.ModuleTestSuites) }}
161+
include: ${{ fromJson(needs.Get-TestSuites.outputs.ModuleLocalTestSuites) }}
164162
uses: ./.github/workflows/Test-ModuleLocal.yml
165163
secrets: inherit
166164
with:
167165
RunsOn: ${{ matrix.RunsOn }}
168166
OS: ${{ matrix.OSName }}
169167
Name: ${{ inputs.Name }}
170-
SkipTests: ${{ inputs.SkipTests }}
171168
TestPath: ${{ matrix.TestPath }}
172169
TestName: ${{ matrix.TestName }}
173170
Debug: ${{ inputs.Debug }}

0 commit comments

Comments
Ā (0)