Skip to content

Commit f2a0b1b

Browse files
Rename plan stage to orchestrator
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent fb1bdb8 commit f2a0b1b

2 files changed

Lines changed: 54 additions & 52 deletions

File tree

.github/workflows/Plan.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
name: Plan
1+
name: Orchestrator
22

3-
# The Plan job is the single decision point for the workflow.
3+
# The Orchestrator job is the single decision point for the workflow.
44
# It runs two steps:
55
# 1. Get-PSModuleSettings - loads and resolves configuration
66
# 2. Resolve-PSModuleVersion - calculates the next version from settings + PR labels
@@ -42,8 +42,9 @@ on:
4242
ImportantFilePatterns:
4343
type: string
4444
description: |
45-
Newline-separated list of regex patterns that identify important files.
46-
Changes matching these patterns trigger build, test, and publish stages.
45+
Newline-separated list of regex patterns that identify module-impacting files.
46+
Changes matching these patterns trigger module build, test, and release stages.
47+
Docs/site orchestration also includes documentation/layout defaults.
4748
When set, fully replaces the defaults (^src/ and ^README\.md$).
4849
required: false
4950
default: |
@@ -53,15 +54,15 @@ on:
5354
outputs:
5455
Settings:
5556
description: The complete settings object including test suites and resolved module version.
56-
value: ${{ jobs.Plan.outputs.Settings }}
57+
value: ${{ jobs.Orchestrator.outputs.Settings }}
5758

5859
permissions:
5960
contents: read # to checkout the repo
6061
pull-requests: write # to add labels / comments to PRs
6162

6263
jobs:
63-
Plan:
64-
name: Plan
64+
Orchestrator:
65+
name: Orchestrator
6566
runs-on: ubuntu-latest
6667
outputs:
6768
Settings: ${{ steps.Enrich-Settings.outputs.Settings }}

.github/workflows/workflow.yml

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,9 @@ on:
5454
ImportantFilePatterns:
5555
type: string
5656
description: |
57-
Newline-separated list of regex patterns that identify important files.
58-
Changes matching these patterns trigger build, test, and publish stages.
57+
Newline-separated list of regex patterns that identify module-impacting files.
58+
Changes matching these patterns trigger module build, test, and release stages.
59+
Docs/site orchestration also includes documentation/layout defaults.
5960
When set, fully replaces the defaults (^src/ and ^README\.md$).
6061
required: false
6162
default: |
@@ -75,7 +76,7 @@ jobs:
7576
# - ✅ Merged PR - Always runs to load configuration
7677
# - ✅ Abandoned PR - Always runs to load configuration
7778
# - ✅ Manual run - Always runs to load configuration
78-
Plan:
79+
Orchestrator:
7980
uses: ./.github/workflows/Plan.yml
8081
with:
8182
SettingsPath: ${{ inputs.SettingsPath }}
@@ -92,133 +93,133 @@ jobs:
9293
# - ❌ Abandoned PR - No need to lint abandoned changes
9394
# - ❌ Manual run - Only runs for PR events
9495
Lint-Repository:
95-
if: fromJson(needs.Plan.outputs.Settings).Linter.Repository.Enabled
96+
if: fromJson(needs.Orchestrator.outputs.Settings).Linter.Repository.Enabled
9697
needs:
97-
- Plan
98+
- Orchestrator
9899
uses: ./.github/workflows/Lint-Repository.yml
99100
with:
100-
Settings: ${{ needs.Plan.outputs.Settings }}
101+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
101102

102103
# Runs on:
103104
# - ✅ Open/Updated PR - Builds module for testing
104105
# - ✅ Merged PR - Builds module for publishing
105106
# - ❌ Abandoned PR - Skips building abandoned changes
106107
# - ✅ Manual run - Builds module when manually triggered
107108
Build-Module:
108-
if: fromJson(needs.Plan.outputs.Settings).Build.Module.Enabled
109+
if: fromJson(needs.Orchestrator.outputs.Settings).Build.Module.Enabled
109110
uses: ./.github/workflows/Build-Module.yml
110111
needs:
111-
- Plan
112+
- Orchestrator
112113
with:
113-
Settings: ${{ needs.Plan.outputs.Settings }}
114+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
114115

115116
# Runs on:
116117
# - ✅ Open/Updated PR - Tests source code changes
117118
# - ✅ Merged PR - Tests source code before publishing
118119
# - ❌ Abandoned PR - Skips testing abandoned changes
119120
# - ✅ Manual run - Tests source code when manually triggered
120121
Test-SourceCode:
121-
if: fromJson(needs.Plan.outputs.Settings).Test.SourceCode.Enabled
122+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.SourceCode.Enabled
122123
needs:
123-
- Plan
124+
- Orchestrator
124125
uses: ./.github/workflows/Test-SourceCode.yml
125126
with:
126-
Settings: ${{ needs.Plan.outputs.Settings }}
127+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
127128

128129
# Runs on:
129130
# - ✅ Open/Updated PR - Lints source code changes
130131
# - ✅ Merged PR - Lints source code before publishing
131132
# - ❌ Abandoned PR - Skips linting abandoned changes
132133
# - ✅ Manual run - Lints source code when manually triggered
133134
Lint-SourceCode:
134-
if: fromJson(needs.Plan.outputs.Settings).Linter.SourceCode.Enabled
135+
if: fromJson(needs.Orchestrator.outputs.Settings).Linter.SourceCode.Enabled
135136
needs:
136-
- Plan
137+
- Orchestrator
137138
uses: ./.github/workflows/Lint-SourceCode.yml
138139
with:
139-
Settings: ${{ needs.Plan.outputs.Settings }}
140+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
140141

141142
# Runs on:
142143
# - ✅ Open/Updated PR - Tests built module
143144
# - ✅ Merged PR - Tests built module before publishing
144145
# - ❌ Abandoned PR - Skips testing abandoned changes
145146
# - ✅ Manual run - Tests built module when manually triggered
146147
Test-Module:
147-
if: fromJson(needs.Plan.outputs.Settings).Test.PSModule.Enabled && needs.Build-Module.result == 'success' && !cancelled()
148+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.PSModule.Enabled && needs.Build-Module.result == 'success' && !cancelled()
148149
needs:
149150
- Build-Module
150-
- Plan
151+
- Orchestrator
151152
uses: ./.github/workflows/Test-Module.yml
152153
with:
153-
Settings: ${{ needs.Plan.outputs.Settings }}
154+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
154155

155156
# Runs on:
156157
# - ✅ Open/Updated PR - Runs setup scripts before local module tests
157158
# - ✅ Merged PR - Runs setup scripts before local module tests
158159
# - ❌ Abandoned PR - Skips setup for abandoned changes
159160
# - ✅ Manual run - Runs setup scripts when manually triggered
160161
BeforeAll-ModuleLocal:
161-
if: fromJson(needs.Plan.outputs.Settings).Test.Module.BeforeAllEnabled && needs.Build-Module.result == 'success' && !cancelled()
162+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.Module.BeforeAllEnabled && needs.Build-Module.result == 'success' && !cancelled()
162163
uses: ./.github/workflows/BeforeAll-ModuleLocal.yml
163164
secrets:
164165
TestData: ${{ secrets.TestData }}
165166
needs:
166167
- Build-Module
167-
- Plan
168+
- Orchestrator
168169
with:
169-
Settings: ${{ needs.Plan.outputs.Settings }}
170+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
170171

171172
# Runs on:
172173
# - ✅ Open/Updated PR - Tests module in local environment
173174
# - ✅ Merged PR - Tests module in local environment before publishing
174175
# - ❌ Abandoned PR - Skips testing abandoned changes
175176
# - ✅ Manual run - Tests module in local environment when manually triggered
176177
Test-ModuleLocal:
177-
if: fromJson(needs.Plan.outputs.Settings).Test.Module.MainEnabled && needs.Build-Module.result == 'success' && !cancelled()
178+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.Module.MainEnabled && needs.Build-Module.result == 'success' && !cancelled()
178179
needs:
179180
- Build-Module
180-
- Plan
181+
- Orchestrator
181182
- BeforeAll-ModuleLocal
182183
uses: ./.github/workflows/Test-ModuleLocal.yml
183184
secrets:
184185
TestData: ${{ secrets.TestData }}
185186
with:
186-
Settings: ${{ needs.Plan.outputs.Settings }}
187+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
187188

188189
# Runs on:
189190
# - ✅ Open/Updated PR - Runs teardown scripts after local module setup/tests
190191
# - ✅ Merged PR - Runs teardown scripts after local module setup/tests
191192
# - ✅ Abandoned PR - Runs teardown if local module setup/tests were started (cleanup)
192193
# - ✅ Manual run - Runs teardown scripts after local module setup/tests
193194
AfterAll-ModuleLocal:
194-
if: fromJson(needs.Plan.outputs.Settings).Test.Module.AfterAllEnabled && needs.BeforeAll-ModuleLocal.result != 'skipped' && always()
195+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.Module.AfterAllEnabled && needs.BeforeAll-ModuleLocal.result != 'skipped' && always()
195196
uses: ./.github/workflows/AfterAll-ModuleLocal.yml
196197
secrets:
197198
TestData: ${{ secrets.TestData }}
198199
needs:
199-
- Plan
200+
- Orchestrator
200201
- BeforeAll-ModuleLocal
201202
- Test-ModuleLocal
202203
with:
203-
Settings: ${{ needs.Plan.outputs.Settings }}
204+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
204205

205206
# Runs on:
206207
# - ✅ Open/Updated PR - Collects and reports test results
207208
# - ✅ Merged PR - Collects and reports test results before publishing
208209
# - ❌ Abandoned PR - Skips collecting results for abandoned changes
209210
# - ✅ Manual run - Collects and reports test results when manually triggered
210211
Get-TestResults:
211-
if: fromJson(needs.Plan.outputs.Settings).Test.TestResults.Enabled && needs.Plan.result == 'success' && always() && !cancelled()
212+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.TestResults.Enabled && needs.Orchestrator.result == 'success' && always() && !cancelled()
212213
needs:
213-
- Plan
214+
- Orchestrator
214215
- Test-SourceCode
215216
- Lint-SourceCode
216217
- Test-Module
217218
- BeforeAll-ModuleLocal
218219
- Test-ModuleLocal
219220
uses: ./.github/workflows/Get-TestResults.yml
220221
with:
221-
Settings: ${{ needs.Plan.outputs.Settings }}
222+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
222223
BeforeAllModuleLocalResult: ${{ needs.BeforeAll-ModuleLocal.result }}
223224

224225
# Runs on:
@@ -227,73 +228,73 @@ jobs:
227228
# - ❌ Abandoned PR - Skips coverage for abandoned changes
228229
# - ✅ Manual run - Calculates and reports code coverage when manually triggered
229230
Get-CodeCoverage:
230-
if: fromJson(needs.Plan.outputs.Settings).Test.CodeCoverage.Enabled && needs.Plan.result == 'success' && always() && !cancelled()
231+
if: fromJson(needs.Orchestrator.outputs.Settings).Test.CodeCoverage.Enabled && needs.Orchestrator.result == 'success' && always() && !cancelled()
231232
needs:
232-
- Plan
233+
- Orchestrator
233234
- Test-Module
234235
- Test-ModuleLocal
235236
uses: ./.github/workflows/Get-CodeCoverage.yml
236237
with:
237-
Settings: ${{ needs.Plan.outputs.Settings }}
238+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
238239

239240
# Runs on:
240241
# - ✅ Open/Updated PR - Only with prerelease label: publishes prerelease version
241242
# - ✅ Merged PR - To default branch only: publishes release when all tests/coverage/build succeed
242243
# - ✅ Abandoned PR - Cleans up prereleases for the abandoned branch (no version published)
243244
# - ❌ Manual run - Only runs for PR events
244245
Publish-Module:
245-
if: fromJson(needs.Plan.outputs.Settings).Publish.Module.Enabled && 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')
246+
if: fromJson(needs.Orchestrator.outputs.Settings).Publish.Module.Enabled && needs.Orchestrator.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')
246247
uses: ./.github/workflows/Publish-Module.yml
247248
secrets:
248249
APIKey: ${{ secrets.APIKey }}
249250
needs:
250-
- Plan
251+
- Orchestrator
251252
- Get-TestResults
252253
- Get-CodeCoverage
253254
- Build-Site
254255
with:
255-
Settings: ${{ needs.Plan.outputs.Settings }}
256+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
256257

257258
# Runs on:
258259
# - ✅ Open/Updated PR - Builds documentation for review
259260
# - ✅ Merged PR - Builds documentation for publishing
260261
# - ❌ Abandoned PR - Skips building docs for abandoned changes
261262
# - ✅ Manual run - Builds documentation when manually triggered
262263
Build-Docs:
263-
if: fromJson(needs.Plan.outputs.Settings).Build.Docs.Enabled
264+
if: fromJson(needs.Orchestrator.outputs.Settings).Build.Docs.Enabled
264265
needs:
265-
- Plan
266+
- Orchestrator
266267
- Build-Module
267268
uses: ./.github/workflows/Build-Docs.yml
268269
with:
269-
Settings: ${{ needs.Plan.outputs.Settings }}
270+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
270271

271272
# Runs on:
272273
# - ✅ Open/Updated PR - Builds site for preview
273274
# - ✅ Merged PR - Builds site for publishing
274275
# - ❌ Abandoned PR - Skips building site for abandoned changes
275276
# - ✅ Manual run - Builds site when manually triggered
276277
Build-Site:
277-
if: fromJson(needs.Plan.outputs.Settings).Build.Site.Enabled
278+
if: fromJson(needs.Orchestrator.outputs.Settings).Build.Site.Enabled
278279
needs:
279-
- Plan
280+
- Orchestrator
280281
- Build-Docs
281282
uses: ./.github/workflows/Build-Site.yml
282283
with:
283-
Settings: ${{ needs.Plan.outputs.Settings }}
284+
Settings: ${{ needs.Orchestrator.outputs.Settings }}
284285

285286
# Runs on:
286287
# - ❌ Open/Updated PR - Site not published for PRs in progress
287288
# - ✅ Merged PR - To default branch only: deploys site to GitHub Pages
288289
# - ❌ Abandoned PR - Site not published for abandoned changes
289290
# - ❌ Manual run - Only publishes on merged PRs to default branch
290291
Publish-Site:
291-
if: fromJson(needs.Plan.outputs.Settings).Publish.Site.Enabled && needs.Get-TestResults.result == 'success' && needs.Get-CodeCoverage.result == 'success' && needs.Build-Site.result == 'success' && !cancelled()
292+
if: fromJson(needs.Orchestrator.outputs.Settings).Publish.Site.Enabled && (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' && !cancelled()
292293
uses: ./.github/workflows/Publish-Site.yml
293294
needs:
294-
- Plan
295+
- Orchestrator
295296
- Get-TestResults
296297
- Get-CodeCoverage
297298
- Build-Site
298299
with:
299-
Settings: ${{ needs.Plan.outputs.Settings }}
300+
Settings: ${{ needs.Orchestrator.outputs.Settings }}

0 commit comments

Comments
 (0)