Skip to content

Commit 25d9225

Browse files
📝 [Docs]: Describe push-driven workflow phases
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent b5ebe12 commit 25d9225

3 files changed

Lines changed: 34 additions & 33 deletions

File tree

.github/workflows/Plan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Plan
33
# The Plan job is the single decision point for the workflow.
44
# It runs two steps:
55
# 1. Get-PSModuleSettings - loads and resolves configuration
6-
# 2. Resolve-PSModuleVersion - calculates the next version from settings + PR labels
6+
# 2. Resolve-PSModuleVersion - calculates the next version from settings + normalized PR context
77
# The resolved version is merged into the publish phase object (Settings.Publish.Module.Resolution.*) by the Enrich-Settings step.
88
# All downstream jobs receive one self-contained Settings JSON with no separate version outputs.
99

.github/workflows/Release.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ permissions:
3838

3939
jobs:
4040
Release:
41+
if: github.event_name != 'pull_request' || github.event.action != 'closed' || github.event.pull_request.merged == false
4142
runs-on: ubuntu-latest
4243
steps:
4344
- name: Checkout repo

.github/workflows/workflow.yml

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ permissions:
7272
jobs:
7373
# Runs on:
7474
# - ✅ Open/Updated PR - Always runs to load configuration
75-
# - ✅ Merged PR - Always runs to load configuration
76-
# - ✅ Abandoned PR - Always runs to load configuration
75+
# - ✅ Push to default - Always runs to resolve stable-release context
76+
# - ✅ Closed PR - Always runs to resolve prerelease cleanup
7777
# - ✅ Manual run - Always runs to load configuration
7878
Plan:
7979
uses: ./.github/workflows/Plan.yml
@@ -88,8 +88,8 @@ jobs:
8888

8989
# Runs on:
9090
# - ✅ Open/Updated PR - Lints code changes in active PRs
91-
# - ❌ Merged PR - No need to lint after merge + its a merge commit that causes issues with super-linter
92-
# - ❌ Abandoned PR - No need to lint abandoned changes
91+
# - ❌ Push to default - No need to lint after merge + its a merge commit that causes issues with super-linter
92+
# - ❌ Closed PR - No need to lint closed changes
9393
# - ❌ Manual run - Only runs for PR events
9494
Lint-Repository:
9595
if: fromJson(needs.Plan.outputs.Settings).Linter.Repository.Enabled
@@ -101,8 +101,8 @@ jobs:
101101

102102
# Runs on:
103103
# - ✅ Open/Updated PR - Builds module for testing
104-
# - ✅ Merged PR - Builds module for publishing
105-
# - ❌ Abandoned PR - Skips building abandoned changes
104+
# - ✅ Push to default - Builds module for publishing
105+
# - ❌ Closed PR - Cleanup only
106106
# - ✅ Manual run - Builds module when manually triggered
107107
Build-Module:
108108
if: fromJson(needs.Plan.outputs.Settings).Build.Module.Enabled
@@ -114,8 +114,8 @@ jobs:
114114

115115
# Runs on:
116116
# - ✅ Open/Updated PR - Tests source code changes
117-
# - ✅ Merged PR - Tests source code before publishing
118-
# - ❌ Abandoned PR - Skips testing abandoned changes
117+
# - ✅ Push to default - Tests source code before publishing
118+
# - ❌ Closed PR - Cleanup only
119119
# - ✅ Manual run - Tests source code when manually triggered
120120
Test-SourceCode:
121121
if: fromJson(needs.Plan.outputs.Settings).Test.SourceCode.Enabled
@@ -127,8 +127,8 @@ jobs:
127127

128128
# Runs on:
129129
# - ✅ Open/Updated PR - Lints source code changes
130-
# - ✅ Merged PR - Lints source code before publishing
131-
# - ❌ Abandoned PR - Skips linting abandoned changes
130+
# - ✅ Push to default - Lints source code before publishing
131+
# - ❌ Closed PR - Cleanup only
132132
# - ✅ Manual run - Lints source code when manually triggered
133133
Lint-SourceCode:
134134
if: fromJson(needs.Plan.outputs.Settings).Linter.SourceCode.Enabled
@@ -140,8 +140,8 @@ jobs:
140140

141141
# Runs on:
142142
# - ✅ Open/Updated PR - Tests built module
143-
# - ✅ Merged PR - Tests built module before publishing
144-
# - ❌ Abandoned PR - Skips testing abandoned changes
143+
# - ✅ Push to default - Tests built module before publishing
144+
# - ❌ Closed PR - Cleanup only
145145
# - ✅ Manual run - Tests built module when manually triggered
146146
Test-Module:
147147
if: fromJson(needs.Plan.outputs.Settings).Test.PSModule.Enabled && needs.Build-Module.result == 'success' && !cancelled()
@@ -154,8 +154,8 @@ jobs:
154154

155155
# Runs on:
156156
# - ✅ Open/Updated PR - Runs setup scripts before local module tests
157-
# - ✅ Merged PR - Runs setup scripts before local module tests
158-
# - ❌ Abandoned PR - Skips setup for abandoned changes
157+
# - ✅ Push to default - Runs setup scripts before local module tests
158+
# - ❌ Closed PR - Cleanup only
159159
# - ✅ Manual run - Runs setup scripts when manually triggered
160160
BeforeAll-ModuleLocal:
161161
if: fromJson(needs.Plan.outputs.Settings).Test.Module.BeforeAllEnabled && needs.Build-Module.result == 'success' && !cancelled()
@@ -170,8 +170,8 @@ jobs:
170170

171171
# Runs on:
172172
# - ✅ Open/Updated PR - Tests module in local environment
173-
# - ✅ Merged PR - Tests module in local environment before publishing
174-
# - ❌ Abandoned PR - Skips testing abandoned changes
173+
# - ✅ Push to default - Tests module in local environment before publishing
174+
# - ❌ Closed PR - Cleanup only
175175
# - ✅ Manual run - Tests module in local environment when manually triggered
176176
Test-ModuleLocal:
177177
if: fromJson(needs.Plan.outputs.Settings).Test.Module.MainEnabled && needs.Build-Module.result == 'success' && !cancelled()
@@ -187,8 +187,8 @@ jobs:
187187

188188
# Runs on:
189189
# - ✅ Open/Updated PR - Runs teardown scripts after local module setup/tests
190-
# - ✅ Merged PR - Runs teardown scripts after local module setup/tests
191-
# - ✅ Abandoned PR - Runs teardown if local module setup/tests were started (cleanup)
190+
# - ✅ Push to default - Runs teardown scripts after local module setup/tests
191+
# - ❌ Closed PR - Workflow cleanup does not start module-local tests
192192
# - ✅ Manual run - Runs teardown scripts after local module setup/tests
193193
AfterAll-ModuleLocal:
194194
if: fromJson(needs.Plan.outputs.Settings).Test.Module.AfterAllEnabled && needs.BeforeAll-ModuleLocal.result != 'skipped' && always()
@@ -204,8 +204,8 @@ jobs:
204204

205205
# Runs on:
206206
# - ✅ Open/Updated PR - Collects and reports test results
207-
# - ✅ Merged PR - Collects and reports test results before publishing
208-
# - ❌ Abandoned PR - Skips collecting results for abandoned changes
207+
# - ✅ Push to default - Collects and reports test results before publishing
208+
# - ❌ Closed PR - Cleanup only
209209
# - ✅ Manual run - Collects and reports test results when manually triggered
210210
Get-TestResults:
211211
if: fromJson(needs.Plan.outputs.Settings).Test.TestResults.Enabled && needs.Plan.result == 'success' && always() && !cancelled()
@@ -223,8 +223,8 @@ jobs:
223223

224224
# Runs on:
225225
# - ✅ Open/Updated PR - Calculates and reports code coverage
226-
# - ✅ Merged PR - Calculates and reports code coverage before publishing
227-
# - ❌ Abandoned PR - Skips coverage for abandoned changes
226+
# - ✅ Push to default - Calculates and reports code coverage before publishing
227+
# - ❌ Closed PR - Cleanup only
228228
# - ✅ Manual run - Calculates and reports code coverage when manually triggered
229229
Get-CodeCoverage:
230230
if: fromJson(needs.Plan.outputs.Settings).Test.CodeCoverage.Enabled && needs.Plan.result == 'success' && always() && !cancelled()
@@ -238,9 +238,9 @@ jobs:
238238

239239
# Runs on:
240240
# - ✅ Open/Updated PR - Only with prerelease label: publishes prerelease version
241-
# - ✅ Merged PR - To default branch only: publishes release when all tests/coverage/build succeed
242-
# - ✅ Abandoned PR - Cleans up prereleases for the abandoned branch (no version published)
243-
# - ❌ Manual run - Only runs for PR events
241+
# - ✅ Push to default - Publishes stable release when associated PR has important changes
242+
# - ✅ Closed PR - Cleans up prereleases only (no stable version published)
243+
# - ❌ Manual run - Does not publish without resolved release context
244244
Publish-Module:
245245
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')
246246
uses: ./.github/workflows/Publish-Module.yml
@@ -256,8 +256,8 @@ jobs:
256256

257257
# Runs on:
258258
# - ✅ Open/Updated PR - Builds documentation for review
259-
# - ✅ Merged PR - Builds documentation for publishing
260-
# - ❌ Abandoned PR - Skips building docs for abandoned changes
259+
# - ✅ Push to default - Builds documentation for publishing
260+
# - ❌ Closed PR - Cleanup only
261261
# - ✅ Manual run - Builds documentation when manually triggered
262262
Build-Docs:
263263
if: fromJson(needs.Plan.outputs.Settings).Build.Docs.Enabled
@@ -270,8 +270,8 @@ jobs:
270270

271271
# Runs on:
272272
# - ✅ Open/Updated PR - Builds site for preview
273-
# - ✅ Merged PR - Builds site for publishing
274-
# - ❌ Abandoned PR - Skips building site for abandoned changes
273+
# - ✅ Push to default - Builds site for publishing
274+
# - ❌ Closed PR - Cleanup only
275275
# - ✅ Manual run - Builds site when manually triggered
276276
Build-Site:
277277
if: fromJson(needs.Plan.outputs.Settings).Build.Site.Enabled
@@ -284,9 +284,9 @@ jobs:
284284

285285
# Runs on:
286286
# - ❌ Open/Updated PR - Site not published for PRs in progress
287-
# - ✅ Merged PR - To default branch only: deploys site to GitHub Pages
288-
# - ❌ Abandoned PR - Site not published for abandoned changes
289-
# - ❌ Manual run - Only publishes on merged PRs to default branch
287+
# - ✅ Push to default - Deploys site to GitHub Pages with stable releases
288+
# - ❌ Closed PR - Site not published for closed changes
289+
# - ❌ Manual run - Requires stable push release context
290290
Publish-Site:
291291
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()
292292
uses: ./.github/workflows/Publish-Site.yml

0 commit comments

Comments
 (0)