Releases: PSModule/Process-PSModule
v5.0.1
🩹[Patch]: Pin super-linter actions and refine Dependabot configuration (#207)
Description
This pull request makes several updates to the GitHub Actions workflows and Dependabot configuration to improve reliability, clarity, and control over code linting and dependency management. The main changes involve pinning the super-linter action to a specific commit for reproducibility, updating linting environment variables, and enhancing dependency labeling.
- Fixes #206
GitHub Actions workflow improvements
- Pin the
super-linter/super-linterandsuper-linter/super-linter/slimactions to the specific commit7bba2eeb89d01dc9bfd93c497477a57e72c83240(v8.2.0) in all workflows, instead of using thelatesttag, to ensure consistent and reproducible builds. [1] [2] [3] - Update linting environment variables in all workflows to explicitly disable
VALIDATE_BIOME_LINTandVALIDATE_GITHUB_ACTIONS_ZIZMOR, providing finer control over which linters are run. [1] [2] [3]
Dependabot configuration enhancement
- Add
dependenciesandgithub-actionslabels to Dependabot PRs for GitHub Actions, making it easier to categorize and filter dependency updates. (.github/dependabot.yml)
PSModule process diagram
- Updated the diagram with the repo linter.
v5.0.0
🌟 [Major]: Process-PSModule v5 (#205)
This pull request cleans up and consolidates the process into focussing on a single workflow, the workflow.yml file. It also updates some more logic and addresses some security issues for the checkout action.
Details
-
Removed the workflow
CI.ymlwhich has previously been used for nightly runs, checking that the logic works.- Mitigation: Adjusted
workflow.ymlto work for the same scenarios replacingCI.ymlfor this usecase. - Fixes #204
- Mitigation: Adjusted
-
Cleaned up some of the job flow depending on the different scenarios.
Job Open/Updated PR Merged PR Abandoned PR Manual Run Get-Settings ✅ Always ✅ Always ✅ Always ✅ Always Lint-Repository ✅ Yes ❌ No ❌ No ❌ No Build-Module ✅ Yes ✅ Yes ❌ No ✅ Yes Build-Docs ✅ Yes ✅ Yes ❌ No ✅ Yes Build-Site ✅ Yes ✅ Yes ❌ No ✅ Yes Test-SourceCode ✅ Yes ✅ Yes ❌ No ✅ Yes Lint-SourceCode ✅ Yes ✅ Yes ❌ No ✅ Yes Test-Module ✅ Yes ✅ Yes ❌ No ✅ Yes BeforeAll-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes Test-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes AfterAll-ModuleLocal ✅ Yes ✅ Yes ❌ No ✅ Yes Get-TestResults ✅ Yes ✅ Yes ❌ No ✅ Yes Get-CodeCoverage ✅ Yes ✅ Yes ❌ No ✅ Yes Publish-Site ❌ No ✅ Yes (only) ❌ No ❌ No Publish-Module ✅ Yes* ✅ Yes* ✅ Yes ✅ Yes* - Only run linter on CI runs.
- Fast forward to "Publish-Module", which also handles removal of prereleases (GitHub only).
- Only run "Publish-Site" on a merged PR.
v4.1.5
Update implement prompt to update PR (#203)
Description
This pull request updates the implementation instructions in .github/prompts/implement.prompt.md to improve task tracking and clarify how pull request descriptions should be managed. The main focus is on making task progress more visible in real-time and ensuring the PR description is always ready to be used as release notes.
Task tracking and status updates:
- Added a critical requirement to update task status immediately after each task is completed:
- Mark the task as
[X]intasks.mdand update the PR description checkbox for each completed task. - Updates must be made task-by-task, not at the end.
- Provided guidance for using GitHub tools or
gh pr editto update the PR description, ensuring real-time visibility of task progress.
- Mark the task as
Pull request description management:
- Changed instructions to require replacing the entire PR description with release notes:
- The existing PR description, including the task list, must be cleared and replaced with release notes.
- This ensures the PR description is immediately ready to be used as GitHub Release notes upon merging.
- Updated the example command to clarify that the PR description should be replaced with release notes.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.4
Updating some div stuff with specify (#200)
Description
This pull request updates and clarifies the workflow instructions for planning and implementing features, with a strong focus on correct GitHub label management, improved documentation standards, and enhanced PR/release note formatting. The changes ensure that contributors follow standardized processes for labeling, documentation, and communication, making the workflow more consistent and user-friendly.
Workflow and Label Management Improvements:
- Both
.github/prompts/plan.prompt.mdand.github/prompts/implement.prompt.mdnow require setting and updating GitHub labels (likePlanning,Implementing,Specification) at the start of each workflow, with clear instructions for both forked and local repositories. FallbackghCLI commands are provided for manual updates. [1] [2] [3] [4] - The implementation workflow now includes immediate label transitions (e.g., removing
Planningand addingImplementing), and the planning workflow adds/removesPlanningandSpecificationas appropriate. [1] [2]
Documentation and Formatting Standards:
- Added a new section in
.github/instructions/md.instructions.mdspecifying that all requirement numbers (e.g., NFR-001, FR-042) must be formatted in bold and use non-breaking hyphens to prevent line breaks and ensure consistency in all documentation. .github/copilot-instructions.mdnow mandates that all terminal commands in documentation be prefixed withpwsh(except for GitHub MCP calls), with examples provided for clarity.
PR and Release Note Guidance:
- The instructions for PR descriptions have been rewritten to require a user-focused, release-note style summary, with explicit sections for "What's Changed," "Usage," "Breaking Changes," and "Technical Notes." Example command-line instructions for updating PR descriptions are included.
- The planning workflow now requires PRs to include both a version/change-level label (e.g., Major, Minor, Patch) and a phase label (Planning), with fallback CLI commands for label management. [1] [2]
Workflow Step Clarifications and Reordering:
- Both planning and implementation prompts have been restructured and renumbered for clarity, with explicit instructions for each step, including constitution and changelog updates, commit message standards, and final PR/issue updates. [1] [2] [3]
Changelog and Constitution Updates:
- The implementation workflow now explicitly requires updating both the constitution and the changelog with each feature or change, following best practices for documentation and release management.
These changes collectively enforce best practices for workflow automation, documentation, and communication in the repository, improving clarity and consistency for all contributors.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.3
📝[Enhancement]: Add structured reporting during the process (#197)
Description
This pull request updates the workflow prompts for the GitHub automation scripts to improve user communication and reporting. The main change is that each major phase (specification, clarification, planning, task generation, and analysis) now posts a clear status comment to the GitHub issue, summarizing progress and next steps for users. Additionally, the analysis and clarification steps now produce more structured, readable markdown reports.
Key improvements include:
User Communication Enhancements:
- Each major workflow step (
specify,clarify,plan,tasks,analyze) now posts a standardized status comment to the issue, clearly indicating completion and next recommended actions. [1] [2] [3] [4] [5]
Analysis and Clarification Reporting:
- The analysis step now posts a detailed markdown comment with tables grouped by severity, a summary, and explicit next actions, making findings easier to review and act upon.
- The clarification step now posts a markdown summary table of questions and answers if any were asked, improving traceability of clarifications.
Process and Flow Improvements:
- The planning step now checks for clarifications before proceeding, pausing if ambiguous areas remain and instructing the user on how to resolve them.
- Each phase's reporting is reorganized to ensure the status comment is posted before the detailed completion report, improving user guidance and flow. [1] [2] [3]
These changes collectively make the workflow more transparent, actionable, and user-friendly.
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.2
Add specify! (#195)
Description
This pull request makes significant improvements to the documentation and prompt instructions for project workflows, especially around constitution management and implementation processes. The changes clarify modes of operation, add detailed step-by-step instructions, and ensure consistency and traceability across related files and workflows.
Key changes:
Constitution Management Enhancements
- Expanded and clarified the instructions in
.github/prompts/constitution.prompt.mdto support both initial creation and iterative updating of the constitution, with detailed operating modes, placeholder handling, and replacement analysis for overlapping principles or rules. Added a Replacement Analysis Table, heuristics for overlap detection, and clear handling for ambiguous or destructive changes. [1] [2] - Improved the propagation and validation checklist for syncing changes across related templates and prompt files, using relative links and clarifying which files to update. Added explicit instructions for updating deprecated or pending sections and handling deferred actions.
- Updated the description in
.github/prompts/constitution.prompt.mdto clarify the iterative nature of constitution updates.
Implementation Workflow Improvements
- Enhanced
.github/prompts/implement.prompt.mdwith explicit support for both local and forked repository workflows, including detection of.fork-info.json, validation of fork configuration, and branch/PR management logic. [1] [2] - Added detailed instructions for iterative implementation: tracking task completion state in
tasks.md, skipping completed tasks, resuming from the last incomplete task, and supporting multiple runs for refinement. - Added comprehensive steps for automated Pull Request creation/updating, including PR title/description formatting, label management, linking to issues, and fallback GitHub CLI commands for both local and fork workflows.
- Included steps for updating issue labels and ensuring the constitution is updated to reflect implemented changes, with clear guidance on how to keep documentation in sync with codebase state.
Documentation Consistency
- Added a new
.github/instructions/md.instructions.mdfile defining markdown style guidelines for consistent documentation across the repository, covering headings, lists, code blocks, links, tables, emphasis, whitespace, and more.
These changes together provide clearer, more robust, and more maintainable workflows for both constitution management and implementation, ensuring consistency and traceability across documentation and project artifacts.
- Constitution Management Enhancements: [1] [2] [3]
- Implementation Workflow Improvements: [1] [2] [3]
- Documentation Consistency:
Type of change
- 📖 [Docs]
- 🪲 [Fix]
- 🩹 [Patch]
-
⚠️ [Security fix] - 🚀 [Feature]
- 🌟 [Breaking change]
Checklist
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
v4.1.1
📖[Docs]: Improve README clarity and formatting (#192)
This release comprehensively improves documentation quality across the entire repository by fixing 21 instances of typos, grammatical errors, and formatting inconsistencies in 9 files. All changes enhance readability, professionalism, and clarity without any breaking changes or functionality modifications.
Why These Changes Matter
Documentation is the first point of contact for users and contributors. Unclear language, typos, and inconsistent formatting create friction and reduce confidence in the project. Poor documentation quality can lead to misunderstandings, incorrect implementations, and increased support burden. These improvements make the documentation more professional, scannable, and easier to understand for both new users and experienced contributors.
How the Documentation Was Improved
The improvements span three main categories:
Grammar & Language Clarity: Fixed verb tense inconsistencies ("trigger" → "triggered"), corrected countable vs uncountable noun usage ("less" → "fewer"), added Oxford commas for better readability, improved sentence structure, and added missing articles throughout.
Formatting Standardization: Standardized file references using inline code formatting (`BeforeAll.ps1`), converted mathematical notation to proper Unicode symbols (≤ instead of <=), improved list structures with consistent nested bullets, and enhanced visual hierarchy in workflow documentation.
Content Restructuring: Reorganized test setup/teardown documentation for better flow, moved key information to prominent positions, eliminated redundant sections, integrated scattered information into main descriptions, and created clearer section divisions.
v4.1.0
🚀[Feature]: Test Setup & Teardown Support for GitHub Actions Workflows (#191)
Overview
This release introduces automated test environment management through BeforeAll.ps1 and AfterAll.ps1 scripts, enabling comprehensive setup and teardown capabilities for module tests running in GitHub Actions. This enhancement solves the challenge of managing complex test environments (databases, infrastructure, external services) across parallel test matrices while ensuring proper cleanup regardless of test outcomes.
🎯 Main Feature: Test Lifecycle Management
The Problem
Previously, setting up test infrastructure required:
- Rate-limiting issue when creating GitHub Repositories for the GitHub PowerShell module, where the setup and teardown happens in the individual test files via BeforeAll and AfterAll blocks.
The Solution
Dedicated setup and teardown jobs with automatic script execution:
- BeforeAll: Runs once before all test matrix jobs begin.
- AfterAll: Runs once after all test matrix jobs complete.
Configuration
No configuration needed! Simply add scripts to your test directory.
The workflow automatically detects and executes these scripts when present.
your-module/
├── tests/
│ ├── BeforeAll.ps1 ← Setup script (optional)
│ ├── AfterAll.ps1 ← Teardown script (optional)
│ └── Module.Tests.ps1 ← The tests that require external setup
│
Additional: Specification-Driven Development Framework
This release also includes an implementation of spec-kit principles, adding a structured workflow for feature development from specification through implementation.
What's Included
- Prompt templates (
.github/prompts/) for/specify,/clarify,/plan,/tasks,/analyze,/implementcommands - Project constitution (
.specify/memory/constitution.md) defining architectural principles:
Additional Workflow Improvements
Linter Configuration Updates
- Added
VALIDATE_BIOME_FORMAT: falsefor Biome formatter - Added
VALIDATE_GITHUB_ACTIONS_ZIZMOR: falsefor workflow security scanning - Added
VALIDATE_JSCPD: falsefor copy-paste detection - Consistent linting configuration across Build-Docs and Linter workflows
Test Workflow Enhancements
- Environment variables properly scoped at workflow level
- Clearer parameter naming (
OSNamevsOS) - Improved test execution coordination
Documentation
- Comprehensive setup/teardown guide in README.md
- Inline documentation in all prompt templates and scripts
- Usage examples for common test scenarios
v4.0.9
Bump actions/checkout from 4 to 5 (#182)
Bumps actions/checkout from 4 to 5.
Release notes
Sourced from actions/checkout's releases.
v5.0.0
What's Changed
- Update actions checkout to use node 24 by
@salmanmkcin actions/checkout#2226- Prepare v5.0.0 release by
@salmanmkcin actions/checkout#2238
⚠️ Minimum Compatible Runner Versionv2.327.1
Release NotesMake sure your runner is updated to this version or newer to use this release.
Full Changelog: actions/checkout@v4...v5.0.0
v4.3.0
What's Changed
- docs: update README.md by
@motssin actions/checkout#1971- Add internal repos for checking out multiple repositories by
@mouismailin actions/checkout#1977- Documentation update - add recommended permissions to Readme by
@benwellsin actions/checkout#2043- Adjust positioning of user email note and permissions heading by
@joshmgrossin actions/checkout#2044- Update README.md by
@nebuk89in actions/checkout#2194- Update CODEOWNERS for actions by
@TingluoHuangin actions/checkout#2224- Update package dependencies by
@salmanmkcin actions/checkout#2236- Prepare release v4.3.0 by
@salmanmkcin actions/checkout#2237New Contributors
@motssmade their first contribution in actions/checkout#1971@mouismailmade their first contribution in actions/checkout#1977@benwellsmade their first contribution in actions/checkout#2043@nebuk89made their first contribution in actions/checkout#2194@salmanmkcmade their first contribution in actions/checkout#2236Full Changelog: actions/checkout@v4...v4.3.0
v4.2.2
What's Changed
url-helper.tsnow leverages well-known environment variables by@jww3in actions/checkout#1941- Expand unit test coverage for
isGhesby@jww3in actions/checkout#1946Full Changelog: actions/checkout@v4.2.1...v4.2.2
v4.2.1
What's Changed
- Check out other refs/* by commit if provided, fall back to ref by
@orhantoyin actions/checkout#1924New Contributors
@Jcambassmade their first contribution in actions/checkout#1919Full Changelog: actions/checkout@v4.2.0...v4.2.1
... (truncated)
Changelog
Sourced from actions/checkout's changelog.
Changelog
V5.0.0
- Update actions checkout to use node 24 by
@salmanmkcin actions/checkout#2226V4.3.0
- docs: update README.md by
@motssin actions/checkout#1971- Add internal repos for checking out multiple repositories by
@mouismailin actions/checkout#1977- Documentation update - add recommended permissions to Readme by
@benwellsin actions/checkout#2043- Adjust positioning of user email note and permissions heading by
@joshmgrossin actions/checkout#2044- Update README.md by
@nebuk89in actions/checkout#2194- Update CODEOWNERS for actions by
@TingluoHuangin actions/checkout#2224- Update package dependencies by
@salmanmkcin actions/checkout#2236v4.2.2
url-helper.tsnow leverages well-known environment variables by@jww3in actions/checkout#1941- Expand unit test coverage for
isGhesby@jww3in actions/checkout#1946v4.2.1
- Check out other refs/* by commit if provided, fall back to ref by
@orhantoyin actions/checkout#1924v4.2.0
- Add Ref and Commit outputs by
@lucacomein actions/checkout#1180- Dependency updates by
@dependabot- actions/checkout#1777, actions/checkout#1872v4.1.7
- Bump the minor-npm-dependencies group across 1 directory with 4 updates by
@dependabotin actions/checkout#1739- Bump actions/checkout from 3 to 4 by
@dependabotin actions/checkout#1697- Check out other refs/* by commit by
@orhantoyin actions/checkout#1774- Pin actions/checkout's own workflows to a known, good, stable version. by
@jww3in actions/checkout#1776v4.1.6
- Check platform to set archive extension appropriately by
@cory-millerin actions/checkout#1732v4.1.5
- Update NPM dependenci...
v4.0.8
Bump actions/upload-pages-artifact from 3 to 4 (#183)
Bumps actions/upload-pages-artifact from 3 to 4.
Release notes
Sourced from actions/upload-pages-artifact's releases.
v4.0.0
What's Changed
- Potentially breaking change: hidden files (specifically dotfiles) will not be included in the artifact by
@tsusderein actions/upload-pages-artifact#102 If you need to include dotfiles in your artifact: instead of using this action, create your own artifact according to these requirements https://github.com/actions/upload-pages-artifact?tab=readme-ov-file#artifact-validation- Pin
actions/upload-artifactto SHA by@heavymachineryin actions/upload-pages-artifact#127Full Changelog: actions/upload-pages-artifact@v3.0.1...v4.0.0
v3.0.1
Changelog
- Group tar's output to prevent it from messing up action logs
@SilverRainZ(#94)- Update README.md
@uiolee(#88)- Bump the non-breaking-changes group with 1 update
@dependabot(#92)- Update Dependabot config to group non-breaking changes
@JamesMGreene(#91)- Bump actions/checkout from 3 to 4
@dependabot(#76)See details of all code changes since previous release.
Commits
7b1f4a7Merge pull request #127 from heavymachinery/pin-sha4cc19c7Pinactions/upload-artifactto SHA2d163beMerge pull request #107 from KittyChiu/mainc704843fix: linted README9605915Merge pull request #106 from KittyChiu/kittychiu/update-readme-1e59cdfeUpdate README.mda2d6704doc: updated usage section in readme984864eMerge pull request #105 from actions/Jcambass-patch-145dc788Add workflow file for publishing releases to immutable action packageefaad07Merge pull request #102 from actions/hidden-files- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)