Skip to content

v6.1.11

Choose a tag to compare

@github-actions github-actions released this 18 Jul 20:45
5998e39

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

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).