Skip to content

📖 [Docs]: Configure retained releases and current PR feedback - #535

Draft
Marius Storhaug (MariusStorhaug) wants to merge 13 commits into
mainfrom
workflow-trigger-mechanism
Draft

📖 [Docs]: Configure retained releases and current PR feedback#535
Marius Storhaug (MariusStorhaug) wants to merge 13 commits into
mainfrom
workflow-trigger-mechanism

Conversation

@MariusStorhaug

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Sep 4, 2026

Copy link
Copy Markdown
Member

Module repositories can now configure Process-PSModule so default-branch releases are retained while pull-request feedback converges on the latest change.

Changed: Workflow concurrency

Add this workflow-level block to the caller workflow that invokes Process-PSModule:

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  queue: ${{ github.event_name == 'pull_request' && 'single' || 'max' }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' }}

Default-branch pushes and workflow_dispatch releases retain the maximum native queue. Pull-request activity cancels and replaces obsolete work for that pull request. A pull_request.closed event cancels its remaining activity, then enters the reusable workflow's existing close path without delaying the resulting default-branch release.

Migration

  1. In .github/workflows/Process-PSModule.yml, replace the existing concurrency block with the block above.
  2. Keep the group exactly as shown. Do not prepend Process-PSModule-: the reusable workflow already uses that prefixed group, and caller and reusable groups must differ.
  3. Retain the pull_request actions opened, reopened, synchronize, labeled, unlabeled, and closed. The closed action is required for prerelease cleanup.
  4. Keep workflow_dispatch when manual production releases are supported; it joins the retained production queue automatically.

Technical details
  • Updates the caller template, repository setup guide, framework specification/design references, and the dedicated trigger spec/design.
  • The caller's group is intentionally unprefixed; github.workflow isolates it from other caller workflows in the repository, while avoiding the reusable workflow's existing Process-PSModule-... group.
  • No reusable-workflow implementation, secret, input, or settings interface changes.
  • Live GitHub Actions evidence: three competing production pushes completed serially; manual dispatch waited for production; rapid PR activity was canceled; and PR closure canceled activity before its close job completed. A conditional producer-level group failed under contended production admission before jobs began.
  • Standards and framework alignment:
Changed surface Standards checked Framework documentation checked Result
Caller templates and workflow examples MSX documentation, YAML, and GitHub Actions Reusable workflow concurrency behavior Aligned
Trigger specification and design MSX specification and design templates Framework release and cleanup contracts Aligned
Relevant issues (or links)

Related work

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
CSS Pass ✅
CSS_PRETTIER Pass ✅
GITHUB_ACTIONS Pass ✅
GITHUB_ACTIONS_ZIZMOR Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
HTML Pass ✅
JAVASCRIPT_ES Pass ✅
JAVASCRIPT_PRETTIER Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@MariusStorhaug Marius Storhaug (MariusStorhaug) added the release:skip Validate this change without publishing a release. label Sep 4, 2026
@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title 📖 [Docs]: Define production, pull-request, and cleanup trigger guarantees 📖 [Docs]: Configure retained releases and current PR feedback Sep 4, 2026
GitHub Actions requires static queue values and rejects queue: max with cancellation. Separate production and pull-request caller jobs preserve both required behaviors.

Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Split each internal caller into retained production and replaceable pull-request jobs while keeping artifact verification reachable after the skipped sibling job.

Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Document the baseline, required workflow credentials, supported site configuration, and exact caller contract consistently across setup and reference guides.

Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Keep consumer documentation changes within the current site staging contract and surface unsupported authored-content migrations as framework gaps.

Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Return caller guidance and direct workflow tests to the experimentally adopted workflow-level concurrency group and one reusable-workflow calling job. Keep public caller permissions scoped to that job.

Co-authored-by: Copilot <223556698+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:skip Validate this change without publishing a release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant