-
Notifications
You must be signed in to change notification settings - Fork 0
🩹 [Patch]: Establish Settings as integration channel
#233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… phase description and context-aware execution
- Add comprehensive research findings on configuration patterns - Define data model for hierarchical configuration system - Create configuration schema contract with JSON validation - Develop quickstart guide for configuration setup - Update GitHub Copilot context with new technical details - Mark planning phases as complete in implementation plan This implements Phase 0 (research) and Phase 1 (design) of the settings-driven workflow configuration feature, establishing the foundation for centralized configuration management in Process-PSModule.
- Research configuration patterns and best practices - Define data model for hierarchical configuration system - Create configuration schema contract with validation - Develop quickstart guide for setup and migration - Update agent context with technical details - Mark planning phases complete Implements Phase 0-1 of settings-driven workflow feature.
|
✅ Planning complete. Ready for task generation with |
…tion, planning, implementation, tasks, and PR creation - Introduced new prompt files for managing project workflows: - PSModule.constitution.prompt.md: Create or update project constitution. - PSModule.plan.prompt.md: Execute implementation planning workflow. - PSModule.implement.prompt.md: Execute implementation plan and manage tasks. - PSModule.tasks.prompt.md: Generate actionable tasks based on design artifacts. - PSModule.pr.prompt.md: Create or update pull requests with structured descriptions. - Updated VSCode settings to recommend new prompt files and enable auto-approval for script execution.
…ven workflow configuration. This includes the data model, implementation plan, quickstart guide, research findings, and feature specification files. These changes streamline the repository by eliminating redundant or obsolete content related to the configuration system.
- Changed reference in plan-template from constitution document to main README for Constitution Check section. - Revised README to streamline the introduction, emphasizing the workflow's benefits and phases. - Consolidated and clarified the workflow orchestration and job descriptions for better understanding. - Updated configuration examples and added details on setup and teardown scripts for testing. - Enhanced the organization of sections for easier navigation and comprehension.
- Move repository setup to top as 6-step quickstart - Remove duplicate "Module structure requirements" section - Consolidate scattered configuration into one canonical section - Collapse detailed tables (gates, inputs/outputs) into <details> blocks - Merge two release sections into unified "Release control with labels" - Complete truncated default YAML config - Standardize code fence languages (yaml, powershell, plaintext) - Add Contributing/License sections - Flatten heading hierarchy for improved scanability No workflow behavior changes. Documentation-only refactor.
…and rephrasing sections
… and module building processes
…and API key creation
…r GitHub Pages and API key creation
…ng the setup instructions and workflow overview
…tHub Pages deployment
…on in GitHub Pages setup
…Hub Pages deployment with collapsible details
…ub Pages environment instructions
…nto 001-settings-driven-workflow
…nto 001-settings-driven-workflow
- Removed individual inputs for module name, debug, verbose, version, prerelease, and working directory from multiple workflows. - Introduced a unified settings object passed as a JSON string to streamline configuration across workflows. - Updated workflows: Get-Settings, Get-TestResults, Lint-SourceCode, Test-Module, Test-ModuleLocal, Test-SourceCode, and others to utilize the new settings structure. - Created new workflows for BeforeAll and AfterAll setup scripts to handle module testing. - Added Publish-Module and Publish-Site workflows for modular publishing processes. - Updated README to reflect changes in input parameters and workflow configurations.
…nto 001-settings-driven-workflow
Settings as integration channel
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This patch release refactors the GitHub Actions workflow architecture to establish Settings as the primary integration channel across all workflows. The refactoring consolidates workflow inputs into a single JSON Settings object, eliminating individual parameter passing and streamlining configuration access patterns.
Changes:
- Replaced multiple workflow input parameters with a unified
SettingsJSON object across all major workflows - Removed redundant output definitions from Get-Settings workflow (SourceCodeTestSuites, PSModuleTestSuites, ModuleTestSuites)
- Extracted inline workflow logic into dedicated reusable workflow files (Lint-Repository, BeforeAll-ModuleLocal, AfterAll-ModuleLocal, Publish-Site, Publish-Module)
- Updated all workflows to access configuration via
fromJson(inputs.Settings)pattern - Moved matrix strategy definitions from the main workflow into individual workflow files
Reviewed changes
Copilot reviewed 25 out of 33 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/workflow.yml | Main workflow refactored to pass Settings object to all called workflows; removed inline job definitions |
| .github/workflows/Get-Settings.yml | Simplified to output single Settings object; removed individual test suite outputs; replaced inline script with Get-PSModuleSettings action |
| .github/workflows/Build-Module.yml | Updated to accept Settings object and extract values via fromJson |
| .github/workflows/Build-Docs.yml | Updated to accept Settings object and extract values via fromJson |
| .github/workflows/Build-Site.yml | Updated to accept Settings object and extract values via fromJson |
| .github/workflows/Test-SourceCode.yml | Moved matrix strategy internally; accepts Settings object |
| .github/workflows/Lint-SourceCode.yml | Moved matrix strategy internally; accepts Settings object |
| .github/workflows/Test-Module.yml | Moved matrix strategy internally; accepts Settings object |
| .github/workflows/Test-ModuleLocal.yml | Moved matrix strategy internally; accepts Settings object |
| .github/workflows/Get-TestResults.yml | Updated to extract test suites from Settings object |
| .github/workflows/Get-CodeCoverage.yml | Updated to extract configuration from Settings object |
| .github/workflows/Lint-Repository.yml | New workflow file extracting inline linting logic from main workflow |
| .github/workflows/BeforeAll-ModuleLocal.yml | New workflow file extracting setup script logic |
| .github/workflows/AfterAll-ModuleLocal.yml | New workflow file extracting teardown script logic |
| .github/workflows/Publish-Site.yml | New workflow file extracting site publishing logic |
| .github/workflows/Publish-Module.yml | New workflow file extracting module publishing logic |
| tests/srcTestRepo/.github/PSModule.yml | Added Name field to test configuration |
| README.md | Extensive documentation updates reflecting unified Settings approach and workflow structure |
| .github/prompts/*.prompt.md | New prompt files for development workflow automation |
| .vscode/settings.json | VSCode configuration for prompt recommendations |
This release refactors the internal GitHub Actions workflow architecture to improve maintainability and consistency. No user-facing changes or breaking changes are included.
What Changed
All major workflows (
Build-Docs.yml,Build-Module.yml,Build-Site.yml,Get-CodeCoverage.yml) have been refactored to use a unified configuration approach:SettingsJSON object instead of multiple individual parameters, reducing complexity and potential configuration errorsSettingsobject usingfromJsonGet-Settings.ymlworkflowTechnical Details
This is a purely internal refactoring focused on improving the workflow infrastructure. The changes make future workflow modifications easier to implement and maintain while ensuring consistency across the entire automation pipeline.