Skip to content

⚙️ [Maintenance]: Internalize runtime settings by phase#402

Merged
Marius Storhaug (MariusStorhaug) merged 4 commits into
mainfrom
settings-schema-review
Jul 18, 2026
Merged

⚙️ [Maintenance]: Internalize runtime settings by phase#402
Marius Storhaug (MariusStorhaug) merged 4 commits into
mainfrom
settings-schema-review

Conversation

@MariusStorhaug

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Jul 18, 2026

Copy link
Copy Markdown
Member

Runtime execution flags and test matrices are now owned by each phase object instead of a shared root Run/TestSuites contract.

Changed: Runtime execution state is phase-owned

Get-PSModuleSettings now enriches each phase with Desired/Enabled state and stores suites under the owning test phase:

  • Linter.Repository / Linter.SourceCode
  • Build.Module / Build.Docs / Build.Site
  • Test.SourceCode.Suites, Test.PSModule.Suites, Test.Module.Suites
  • Test.Module.BeforeAllEnabled, Test.Module.MainEnabled, Test.Module.AfterAllEnabled
  • Test.TestResults.Enabled, Test.CodeCoverage.Enabled
  • Publish.Module.Enabled, Publish.Site.Enabled

Changed: Workflows now consume the new phase-owned schema

Reusable workflows and the root workflow were updated to reference phase-local state instead of Settings.Run.* and Settings.TestSuites.*.

Changed: Version resolution is scoped under publish phase

Plan.yml now stores resolved version metadata under:

  • Settings.Publish.Module.Resolution.Version
  • Settings.Publish.Module.Resolution.Prerelease
  • Settings.Publish.Module.Resolution.FullVersion
  • Settings.Publish.Module.Resolution.ReleaseType
  • Settings.Publish.Module.Resolution.CreateRelease

Build-Module.yml and Test-ModuleLocal.yml were updated to read this new location.

Changed: Settings schema deprecates root Run contract

Settings.schema.json no longer defines root TestSuites and marks root Run as deprecated.

Technical Details

  • Preserved existing behavior by deriving phase Enabled values from the same event/state logic previously used to build Run.*.
  • Kept the input settings shape stable for repository owners; this refactor targets the internal enriched settings object passed between workflow jobs.
Related issues
  • Opened directly from maintainer request (no linked issue).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jul 18, 2026

Copy link
Copy Markdown

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS 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

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marius Storhaug (MariusStorhaug) added a commit to MSXOrg/docs that referenced this pull request Jul 18, 2026
…dated (#56)

Process-PSModule documentation now describes the current internal
runtime settings contract in evergreen terms while keeping
`.github/PSModule.yml` as the user-facing configuration source.

## Changed: Pipeline stages runtime contract documentation
- Clarified that Plan enriches `.github/PSModule.yml` into an internal
runtime `Settings` object shared between jobs.
- Documented the current phase-owned execution flags, test suite matrix
locations, and publish resolution paths as the active contract.

## Changed: Runtime settings reference style
- Replaced comparison-oriented wording with definitive runtime path
documentation (`Settings.*`) and behavior-focused descriptions.
- Kept version stamping and release-decision references aligned with
`Settings.Publish.Module.Resolution.*`.

## Changed: Usage behavior wording
- Updated the important-file behavior section to state the current
runtime values declaratively.

## Technical Details
- Files updated:
  - `src/docs/Frameworks/Process-PSModule/pipeline-stages.md`
  - `src/docs/Frameworks/Process-PSModule/usage.md`
  - `src/docs/Frameworks/Process-PSModule/configuration.md`
- Change is documentation-only and aligned with the current
Process-PSModule runtime contract.

<details>
<summary>Related links</summary>

- Upstream runtime contract context:
PSModule/Process-PSModule#402

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit 5998e39 into main Jul 18, 2026
69 checks passed
@MariusStorhaug
Marius Storhaug (MariusStorhaug) deleted the settings-schema-review branch July 18, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant