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 : |
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