Skip to content

Commit f62e29f

Browse files
Rewire Process-PSModule workflow jobs to use the Plan job
1 parent 12fbf54 commit f62e29f

2 files changed

Lines changed: 46 additions & 122 deletions

File tree

.github/workflows/Get-Settings.yml

Lines changed: 0 additions & 78 deletions
This file was deleted.

.github/workflows/workflow.yml

Lines changed: 46 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ jobs:
8282
# - ✅ Merged PR - Always runs to load configuration
8383
# - ✅ Abandoned PR - Always runs to load configuration
8484
# - ✅ Manual run - Always runs to load configuration
85-
Get-Settings:
86-
uses: ./.github/workflows/Get-Settings.yml
85+
Plan:
86+
uses: ./.github/workflows/Plan.yml
8787
with:
8888
SettingsPath: ${{ inputs.SettingsPath }}
8989
Debug: ${{ inputs.Debug }}
@@ -99,73 +99,75 @@ jobs:
9999
# - ❌ Abandoned PR - No need to lint abandoned changes
100100
# - ❌ Manual run - Only runs for PR events
101101
Lint-Repository:
102-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.LintRepository
102+
if: fromJson(needs.Plan.outputs.Settings).Run.LintRepository
103103
needs:
104-
- Get-Settings
104+
- Plan
105105
uses: ./.github/workflows/Lint-Repository.yml
106106
with:
107-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
107+
Settings: ${{ needs.Plan.outputs.Settings }}
108108

109109
# Runs on:
110110
# - ✅ Open/Updated PR - Builds module for testing
111111
# - ✅ Merged PR - Builds module for publishing
112112
# - ❌ Abandoned PR - Skips building abandoned changes
113113
# - ✅ Manual run - Builds module when manually triggered
114114
Build-Module:
115-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.BuildModule
115+
if: fromJson(needs.Plan.outputs.Settings).Run.BuildModule
116116
uses: ./.github/workflows/Build-Module.yml
117117
needs:
118-
- Get-Settings
118+
- Plan
119119
with:
120-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
120+
Settings: ${{ needs.Plan.outputs.Settings }}
121+
ModuleVersion: ${{ needs.Plan.outputs.ModuleVersion }}
122+
ModulePrerelease: ${{ needs.Plan.outputs.ModulePrerelease }}
121123

122124
# Runs on:
123125
# - ✅ Open/Updated PR - Tests source code changes
124126
# - ✅ Merged PR - Tests source code before publishing
125127
# - ❌ Abandoned PR - Skips testing abandoned changes
126128
# - ✅ Manual run - Tests source code when manually triggered
127129
Test-SourceCode:
128-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.TestSourceCode
130+
if: fromJson(needs.Plan.outputs.Settings).Run.TestSourceCode
129131
needs:
130-
- Get-Settings
132+
- Plan
131133
uses: ./.github/workflows/Test-SourceCode.yml
132134
with:
133-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
135+
Settings: ${{ needs.Plan.outputs.Settings }}
134136

135137
# Runs on:
136138
# - ✅ Open/Updated PR - Lints source code changes
137139
# - ✅ Merged PR - Lints source code before publishing
138140
# - ❌ Abandoned PR - Skips linting abandoned changes
139141
# - ✅ Manual run - Lints source code when manually triggered
140142
Lint-SourceCode:
141-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.LintSourceCode
143+
if: fromJson(needs.Plan.outputs.Settings).Run.LintSourceCode
142144
needs:
143-
- Get-Settings
145+
- Plan
144146
uses: ./.github/workflows/Lint-SourceCode.yml
145147
with:
146-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
148+
Settings: ${{ needs.Plan.outputs.Settings }}
147149

148150
# Runs on:
149151
# - ✅ Open/Updated PR - Tests built module
150152
# - ✅ Merged PR - Tests built module before publishing
151153
# - ❌ Abandoned PR - Skips testing abandoned changes
152154
# - ✅ Manual run - Tests built module when manually triggered
153155
Test-Module:
154-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.TestModule && needs.Build-Module.result == 'success' && !cancelled()
156+
if: fromJson(needs.Plan.outputs.Settings).Run.TestModule && needs.Build-Module.result == 'success' && !cancelled()
155157
needs:
156158
- Build-Module
157-
- Get-Settings
159+
- Plan
158160
uses: ./.github/workflows/Test-Module.yml
159161
with:
160-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
162+
Settings: ${{ needs.Plan.outputs.Settings }}
161163

162164
# Runs on:
163165
# - ✅ Open/Updated PR - Runs setup scripts before local module tests
164166
# - ✅ Merged PR - Runs setup scripts before local module tests
165167
# - ❌ Abandoned PR - Skips setup for abandoned changes
166168
# - ✅ Manual run - Runs setup scripts when manually triggered
167169
BeforeAll-ModuleLocal:
168-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.BeforeAllModuleLocal && needs.Build-Module.result == 'success' && !cancelled()
170+
if: fromJson(needs.Plan.outputs.Settings).Run.BeforeAllModuleLocal && needs.Build-Module.result == 'success' && !cancelled()
169171
uses: ./.github/workflows/BeforeAll-ModuleLocal.yml
170172
secrets:
171173
TEST_APP_ENT_CLIENT_ID: ${{ secrets.TEST_APP_ENT_CLIENT_ID }}
@@ -177,20 +179,20 @@ jobs:
177179
TEST_USER_PAT: ${{ secrets.TEST_USER_PAT }}
178180
needs:
179181
- Build-Module
180-
- Get-Settings
182+
- Plan
181183
with:
182-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
184+
Settings: ${{ needs.Plan.outputs.Settings }}
183185

184186
# Runs on:
185187
# - ✅ Open/Updated PR - Tests module in local environment
186188
# - ✅ Merged PR - Tests module in local environment before publishing
187189
# - ❌ Abandoned PR - Skips testing abandoned changes
188190
# - ✅ Manual run - Tests module in local environment when manually triggered
189191
Test-ModuleLocal:
190-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.TestModuleLocal && needs.Build-Module.result == 'success' && !cancelled()
192+
if: fromJson(needs.Plan.outputs.Settings).Run.TestModuleLocal && needs.Build-Module.result == 'success' && !cancelled()
191193
needs:
192194
- Build-Module
193-
- Get-Settings
195+
- Plan
194196
- BeforeAll-ModuleLocal
195197
uses: ./.github/workflows/Test-ModuleLocal.yml
196198
secrets:
@@ -202,15 +204,15 @@ jobs:
202204
TEST_USER_USER_FG_PAT: ${{ secrets.TEST_USER_USER_FG_PAT }}
203205
TEST_USER_PAT: ${{ secrets.TEST_USER_PAT }}
204206
with:
205-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
207+
Settings: ${{ needs.Plan.outputs.Settings }}
206208

207209
# Runs on:
208210
# - ✅ Open/Updated PR - Runs teardown scripts after local module tests
209211
# - ✅ Merged PR - Runs teardown scripts after local module tests
210212
# - ✅ Abandoned PR - Runs teardown if tests were started (cleanup)
211213
# - ✅ Manual run - Runs teardown scripts after local module tests
212214
AfterAll-ModuleLocal:
213-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.AfterAllModuleLocal && needs.Test-ModuleLocal.result != 'skipped' && always()
215+
if: fromJson(needs.Plan.outputs.Settings).Run.AfterAllModuleLocal && needs.Test-ModuleLocal.result != 'skipped' && always()
214216
uses: ./.github/workflows/AfterAll-ModuleLocal.yml
215217
secrets:
216218
TEST_APP_ENT_CLIENT_ID: ${{ secrets.TEST_APP_ENT_CLIENT_ID }}
@@ -221,101 +223,101 @@ jobs:
221223
TEST_USER_USER_FG_PAT: ${{ secrets.TEST_USER_USER_FG_PAT }}
222224
TEST_USER_PAT: ${{ secrets.TEST_USER_PAT }}
223225
needs:
224-
- Get-Settings
226+
- Plan
225227
- Test-ModuleLocal
226228
with:
227-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
229+
Settings: ${{ needs.Plan.outputs.Settings }}
228230

229231
# Runs on:
230232
# - ✅ Open/Updated PR - Collects and reports test results
231233
# - ✅ Merged PR - Collects and reports test results before publishing
232234
# - ❌ Abandoned PR - Skips collecting results for abandoned changes
233235
# - ✅ Manual run - Collects and reports test results when manually triggered
234236
Get-TestResults:
235-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.GetTestResults && needs.Get-Settings.result == 'success' && always() && !cancelled()
237+
if: fromJson(needs.Plan.outputs.Settings).Run.GetTestResults && needs.Plan.result == 'success' && always() && !cancelled()
236238
needs:
237-
- Get-Settings
239+
- Plan
238240
- Test-SourceCode
239241
- Lint-SourceCode
240242
- Test-Module
241243
- Test-ModuleLocal
242244
uses: ./.github/workflows/Get-TestResults.yml
243245
with:
244-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
246+
Settings: ${{ needs.Plan.outputs.Settings }}
245247

246248
# Runs on:
247249
# - ✅ Open/Updated PR - Calculates and reports code coverage
248250
# - ✅ Merged PR - Calculates and reports code coverage before publishing
249251
# - ❌ Abandoned PR - Skips coverage for abandoned changes
250252
# - ✅ Manual run - Calculates and reports code coverage when manually triggered
251253
Get-CodeCoverage:
252-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.GetCodeCoverage && needs.Get-Settings.result == 'success' && always() && !cancelled()
254+
if: fromJson(needs.Plan.outputs.Settings).Run.GetCodeCoverage && needs.Plan.result == 'success' && always() && !cancelled()
253255
needs:
254-
- Get-Settings
256+
- Plan
255257
- Test-Module
256258
- Test-ModuleLocal
257259
uses: ./.github/workflows/Get-CodeCoverage.yml
258260
with:
259-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
261+
Settings: ${{ needs.Plan.outputs.Settings }}
260262

261263
# Runs on:
262264
# - ✅ Open/Updated PR - Only with prerelease label: publishes prerelease version
263265
# - ✅ Merged PR - To default branch only: publishes release when all tests/coverage/build succeed
264266
# - ✅ Abandoned PR - Cleans up prereleases for the abandoned branch (no version published)
265267
# - ❌ Manual run - Only runs for PR events
266268
Publish-Module:
267-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.PublishModule && needs.Get-Settings.result == 'success' && !cancelled() && (needs.Get-TestResults.result == 'success' || needs.Get-TestResults.result == 'skipped') && (needs.Get-CodeCoverage.result == 'success' || needs.Get-CodeCoverage.result == 'skipped') && (needs.Build-Site.result == 'success' || needs.Build-Site.result == 'skipped')
269+
if: fromJson(needs.Plan.outputs.Settings).Run.PublishModule && needs.Plan.result == 'success' && !cancelled() && (needs.Get-TestResults.result == 'success' || needs.Get-TestResults.result == 'skipped') && (needs.Get-CodeCoverage.result == 'success' || needs.Get-CodeCoverage.result == 'skipped') && (needs.Build-Site.result == 'success' || needs.Build-Site.result == 'skipped')
268270
uses: ./.github/workflows/Publish-Module.yml
269271
secrets:
270272
APIKey: ${{ secrets.APIKey }}
271273
needs:
272-
- Get-Settings
274+
- Plan
273275
- Get-TestResults
274276
- Get-CodeCoverage
275277
- Build-Site
276278
with:
277-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
279+
Settings: ${{ needs.Plan.outputs.Settings }}
278280

279281
# Runs on:
280282
# - ✅ Open/Updated PR - Builds documentation for review
281283
# - ✅ Merged PR - Builds documentation for publishing
282284
# - ❌ Abandoned PR - Skips building docs for abandoned changes
283285
# - ✅ Manual run - Builds documentation when manually triggered
284286
Build-Docs:
285-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.BuildDocs
287+
if: fromJson(needs.Plan.outputs.Settings).Run.BuildDocs
286288
needs:
287-
- Get-Settings
289+
- Plan
288290
- Build-Module
289291
uses: ./.github/workflows/Build-Docs.yml
290292
with:
291-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
293+
Settings: ${{ needs.Plan.outputs.Settings }}
292294

293295
# Runs on:
294296
# - ✅ Open/Updated PR - Builds site for preview
295297
# - ✅ Merged PR - Builds site for publishing
296298
# - ❌ Abandoned PR - Skips building site for abandoned changes
297299
# - ✅ Manual run - Builds site when manually triggered
298300
Build-Site:
299-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.BuildSite
301+
if: fromJson(needs.Plan.outputs.Settings).Run.BuildSite
300302
needs:
301-
- Get-Settings
303+
- Plan
302304
- Build-Docs
303305
uses: ./.github/workflows/Build-Site.yml
304306
with:
305-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
307+
Settings: ${{ needs.Plan.outputs.Settings }}
306308

307309
# Runs on:
308310
# - ❌ Open/Updated PR - Site not published for PRs in progress
309311
# - ✅ Merged PR - To default branch only: deploys site to GitHub Pages
310312
# - ❌ Abandoned PR - Site not published for abandoned changes
311313
# - ❌ Manual run - Only publishes on merged PRs to default branch
312314
Publish-Site:
313-
if: fromJson(needs.Get-Settings.outputs.Settings).Run.PublishSite && needs.Get-TestResults.result == 'success' && needs.Get-CodeCoverage.result == 'success' && needs.Build-Site.result == 'success' && !cancelled()
315+
if: fromJson(needs.Plan.outputs.Settings).Run.PublishSite && needs.Get-TestResults.result == 'success' && needs.Get-CodeCoverage.result == 'success' && needs.Build-Site.result == 'success' && !cancelled()
314316
uses: ./.github/workflows/Publish-Site.yml
315317
needs:
316-
- Get-Settings
318+
- Plan
317319
- Get-TestResults
318320
- Get-CodeCoverage
319321
- Build-Site
320322
with:
321-
Settings: ${{ needs.Get-Settings.outputs.Settings }}
323+
Settings: ${{ needs.Plan.outputs.Settings }}

0 commit comments

Comments
 (0)