You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content/reference/process-workflow-fleet-standard.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,7 +141,7 @@ decisions before canonical guides, templates, or consumer workflows adopt it:
141
141
142
142
| Decision | Candidate | Alternatives still open |
143
143
| --- | --- | --- |
144
-
| Contract scope | Standardize the `Process-PSModule` caller job and its shared workflow controls, not every job in the file. | Selected for the candidate; repository-owned jobs remain outside the caller contract. |
144
+
| Contract scope | Keep the file identical to the canonical template except for optional `TestData`. | Selected for the candidate; repository-owned jobs use separate workflow files. |
145
145
| Trigger ownership | The caller owns manual, schedule, default-branch push, and pull-request triggers. | Move some trigger policy into separate workflows or omit selected event classes. |
146
146
| Pull-request activities | Keep all six listed activity types. | Reduce the activity list if a v8 behavior is intentionally unsupported. |
147
147
| Concurrency | Use the workflow plus PR-number-or-full-ref key and cancel only pull-request runs. | Selected for the candidate: PR reconciliation must be resumable; non-PR runs serialize by full ref. |
@@ -189,17 +189,17 @@ fleet campaign. Branch names, `latest`, floating minor tags, and unqualified tar
189
189
| Event gate | Keep the caller unconditional and authorize capabilities in `Plan`. | The reusable workflow owns execution policy; fork pull requests may validate but cannot obtain App credentials, publish, deploy, clean up, or mutate repository state. |
190
190
| Reference | Use the intended internal floating major tag (`v8`) after tag governance is enforced. | Compatible owned releases roll out centrally; breaking releases require a new major and campaign. |
191
191
| Credentials | Explicitly map the three required secrets. | Satisfies the `v7+` contract and prevents unrelated secret inheritance. |
192
-
| Scope | Require one conforming `Process-PSModule` delegation job. | Additional repository-owned jobs do not change caller conformance. |
192
+
| Scope | Require exactly the canonical `Process-PSModule` workflow file. | Repository-owned jobs use separate workflow files. |
193
193
194
194
## Allowed caller variation
195
195
196
196
The only conforming variation from the canonical template is the optional `TestData` secret mapping shown above.
197
197
Callers use it only when module-local tests need caller-defined secrets or variables, and expose only the required
198
198
values in the documented `secrets` and `variables` maps.
199
199
200
-
Every other field in the Process-PSModule caller contract matches the template exactly. Callers do not add `with:`
201
-
inputs, change schedule timing, add `run-name`, add a caller condition, or broaden permissions. Repository-owned jobs
202
-
may coexist because they are outside the Process-PSModule caller contract; they do not modify the canonical call.
200
+
Every other field in the Process-PSModule workflow file matches the template exactly. Callers do not add jobs, `with:`
201
+
inputs, change schedule timing, add `run-name`, add a caller condition, or broaden permissions. Repository-owned
202
+
automation uses separate workflow files.
203
203
204
204
## Variations requiring a decision
205
205
@@ -214,6 +214,7 @@ an approved structure:
214
214
- a concurrency key other than workflow plus PR number or full ref, or cancellation behavior other than pull-request-only;
215
215
- a caller-level fork or event-authorization condition;
216
216
- trigger-level path filters that bypass Process-PSModule important-file evaluation;
217
+
- any additional job in `.github/workflows/Process-PSModule.yml`;
217
218
- any `with:` input, including `Debug`, `ImportantFilePatterns`, `Prerelease`, `SettingsPath`, `Verbose`, `Version`, or
218
219
`WorkingDirectory`;
219
220
- a schedule other than the canonical `0 0 * * *`;
@@ -237,10 +238,8 @@ evaluating Settings. Privileged-context events such as
237
238
`pull_request_target`remain unsupported unless separately designed to prevent untrusted code from crossing the
238
239
credential boundary.
239
240
240
-
The contract applies to the shared workflow controls and the `Process-PSModule` delegation job shown above. Repositories
241
-
may define additional jobs in the same file or separate workflows. The inventory reports those jobs for visibility, but
242
-
the contract does not prescribe their implementation. Additional jobs must not weaken or bypass the permissions,
243
-
authorization, trigger, or concurrency controls governing the Process-PSModule call.
241
+
The contract applies to the entire `.github/workflows/Process-PSModule.yml` file shown above. Repository-owned
242
+
automation uses separate workflow files so the canonical caller remains directly comparable across the fleet.
Copy file name to clipboardExpand all lines: docs/content/reference/process-workflow-lifecycle-design.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,8 +36,8 @@ requested state.
36
36
37
37
The [Process-PSModule caller contract](process-workflow-fleet-standard.md) contains exactly one reusable-workflow call
38
38
job and the shared top-level triggers, concurrency, permissions, Plan authorization, and credential boundary that govern
39
-
it. Repository-owned jobs MAY coexist in the same workflow file or in separate workflows. They are visible to
40
-
conformance reporting and MUST NOT weaken or bypass the Process-PSModule call boundary.
39
+
it. The file matches the canonical template except for optional `TestData`. Repository-owned automation uses separate
40
+
workflow files.
41
41
42
42
## Event authorization
43
43
@@ -117,8 +117,7 @@ These explicit secret mappings are required. `secrets: inherit` is prohibited. T
117
117
118
118
When present, `TestData` contains a JSON object with separate `secrets` and `variables` maps. It is omitted when
119
119
unused. It is the only permitted variation from the canonical caller template. Callers do not declare `run-name`,
120
-
alter the canonical schedule, add a caller condition, or pass `with:` inputs. Repository-owned jobs may coexist
121
-
outside this caller contract.
120
+
alter the canonical schedule, add jobs or caller conditions, or pass `with:` inputs.
122
121
123
122
Built-in `GITHUB_TOKEN` authorizes checkout, repository-local reads, and standard Pages/OIDC deployment within the job
124
123
boundary. Step-scoped GitHub App installation tokens authorize pull-request comments and labels, commit statuses and
@@ -194,7 +193,7 @@ The lifecycle is verified with event payload fixtures and publication fakes befo
194
193
| Stable aggregation | Push, manual-dispatch, and scheduled bursts replace a pending run and prove all unreleased merged pull requests are aggregated. |
195
194
| Caller authorization | Fixtures verify the explicit permissions and credential mappings, App-token failure, and no built-in-token fallback. |
196
195
| Fork authorization | Fixtures verify immutable-metadata-first restricted Settings, no privileged operations, and `pull_request_target` rejection. |
197
-
| Caller boundary | Fixtures verify repository-owned jobs remain visible without weakening or bypassing the reusable-workflow call boundary. |
196
+
| Caller boundary | Fixtures verify exact canonical-template conformance with optional `TestData` as the only variation. |
0 commit comments