From 78c2264ff36901ce677f2f0c4d4cdf6ea362ba6d Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Tue, 2 Dec 2025 13:51:29 +0100 Subject: [PATCH] Update dependencies and doc cleanup (#245) This release updates workflow dependencies to their latest versions and standardizes table formatting across documentation files. **Workflow Dependency Updates:** * Updated actions in various workflows to their latest versions: * `super-linter/super-linter` from 8.2.1 to 8.3.0 * `PSModule/Document-PSModule` from 1.0.11 to 1.0.12 * `PSModule/Install-PSModuleHelpers` from 1.0.5 to 1.0.6 * `PSModule/Test-PSModule` from 3.0.6 to 3.0.7 **Documentation and Table Formatting Improvements:** * Standardized markdown table column alignment and spacing in multiple documentation files. * Added a style configuration for markdown tables (MD060) in `.github/linters/.markdown-lint.yml` to enforce leading column style and avoid emoji width issues. --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> --- .github/copilot-instructions.md | 6 +-- .github/linters/.markdown-lint.yml | 2 + .github/prompts/constitution.prompt.md | 6 +-- .github/prompts/plan.prompt.md | 16 +++---- .github/prompts/pr.prompt.md | 14 +++--- .github/workflows/Build-Docs.yml | 4 +- .github/workflows/Build-Site.yml | 2 +- .github/workflows/Linter.yml | 2 +- .github/workflows/Test-Module.yml | 2 +- .github/workflows/Test-ModuleLocal.yml | 2 +- .github/workflows/Test-SourceCode.yml | 2 +- .github/workflows/workflow.yml | 2 +- .specify/memory/constitution.md | 30 ++++++------- .specify/templates/plan-template.md | 30 ++++++------- .specify/templates/spec-template.md | 62 +++++++++++++------------- README.md | 38 ++++++++-------- 16 files changed, 112 insertions(+), 108 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 858eab7b..b9a9fc6d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -12,7 +12,7 @@ When executing terminal commands (using `run_in_terminal` or similar tools): ## Other instructions -| Tech | Instruction file | -|------|------------------| +| Tech | Instruction file | +|------------|-------------------------------------------------------------| | PowerShell | [pwsh.instructions.md](./instructions/pwsh.instructions.md) | -| Markdown | [md.instructions.md](./instructions/md.instructions.md) | +| Markdown | [md.instructions.md](./instructions/md.instructions.md) | diff --git a/.github/linters/.markdown-lint.yml b/.github/linters/.markdown-lint.yml index b9ecdfa9..bb432af1 100644 --- a/.github/linters/.markdown-lint.yml +++ b/.github/linters/.markdown-lint.yml @@ -18,6 +18,8 @@ MD026: MD029: false # Ordered list item prefix MD033: false # Allow inline HTML MD036: false # Emphasis used instead of a heading +MD060: + style: "leading" # Table column style (leading avoids emoji width issues) ################# # Rules by tags # diff --git a/.github/prompts/constitution.prompt.md b/.github/prompts/constitution.prompt.md index 4a78dfe6..454a3a03 100644 --- a/.github/prompts/constitution.prompt.md +++ b/.github/prompts/constitution.prompt.md @@ -29,9 +29,9 @@ Two operating modes: Replacement Analysis Table (when overlap detected): -| Existing Item | Proposed New / Change | Overlap Basis | Suggested Action | -|---------------|-----------------------|---------------|------------------| -| | <incoming title / change> | e.g. semantic similarity, scope duplication | Replace / Merge / Keep Both | +| Existing Item | Proposed New / Change | Overlap Basis | Suggested Action | +|---------------------|---------------------------|----------------------------------------------|----------------------------| +| <title / section> | <incoming title / change> | e.g. semantic similarity, scope duplication | Replace / Merge / Keep Both | Heuristics for overlap: - Title similarity score (case-insensitive) >= 0.6 (rough string similarity) OR diff --git a/.github/prompts/plan.prompt.md b/.github/prompts/plan.prompt.md index 5fda97f5..26959b24 100644 --- a/.github/prompts/plan.prompt.md +++ b/.github/prompts/plan.prompt.md @@ -102,14 +102,14 @@ Given the implementation details provided as an argument, do this: - **Use the same title for the PR**: The PR title must match the issue title exactly - If unable to retrieve the issue title, determine the PR type and icon based on the changes: - | Type of change | Icon | Label | - |-|-|-| - | Docs | 📖 | Docs | - | Fix | 🪲 | Fix, Patch | - | Security fix | ⚠️ | Fix | - | Patch | 🩹 | Patch | - | Feature | 🚀 | Minor | - | Breaking change | 🌟 | Major | + | Type of change | Icon | Label | + | --------------- | ---- | ---------- | + | Docs | 📖 | Docs | + | Fix | 🪲 | Fix, Patch | + | Security fix | ⚠️ | Fix | + | Patch | 🩹 | Patch | + | Feature | 🚀 | Minor | + | Breaking change | 🌟 | Major | - Fallback PR title format (if issue title unavailable): `<Icon> [Type of change]: <Short description>` - Create PR description: diff --git a/.github/prompts/pr.prompt.md b/.github/prompts/pr.prompt.md index 8baabc88..75661c9a 100644 --- a/.github/prompts/pr.prompt.md +++ b/.github/prompts/pr.prompt.md @@ -14,13 +14,13 @@ $ARGUMENTS ## Supported Change Types -| Type | Icon | Labels | Description | -|------|------|--------|-------------| -| Major | 🌟 | `Major` | Breaking changes that affect compatibility | -| Minor | 🚀 | `Minor` | New features or enhancements | -| Patch | 🩹 | `Patch` | Small fixes or improvements | -| Fix | 🪲 | `Fix`, `Patch` | Bugfixes | -| Docs | 📖 | `Docs` | Documentation changes only | +| Type | Icon | Labels | Description | +| ----- | ---- | -------------- | ------------------------------------------ | +| Major | 🌟 | `Major` | Breaking changes that affect compatibility | +| Minor | 🚀 | `Minor` | New features or enhancements | +| Patch | 🩹 | `Patch` | Small fixes or improvements | +| Fix | 🪲 | `Fix`, `Patch` | Bugfixes | +| Docs | 📖 | `Docs` | Documentation changes only | ## Execution Steps diff --git a/.github/workflows/Build-Docs.yml b/.github/workflows/Build-Docs.yml index 74dedc53..08e28cd4 100644 --- a/.github/workflows/Build-Docs.yml +++ b/.github/workflows/Build-Docs.yml @@ -60,7 +60,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Document module - uses: PSModule/Document-PSModule@7e50d9f41753417346ff75b3601a90524aa8ab7e # v1.0.11 + uses: PSModule/Document-PSModule@15dc407c99e408fc0a4023d4f16aee2a5507ba74 # v1.0.12 with: Name: ${{ inputs.Name }} WorkingDirectory: ${{ inputs.WorkingDirectory }} @@ -102,7 +102,7 @@ jobs: - name: Lint documentation id: super-linter - uses: super-linter/super-linter/slim@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter/slim@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: RUN_LOCAL: true DEFAULT_BRANCH: main diff --git a/.github/workflows/Build-Site.yml b/.github/workflows/Build-Site.yml index 59794fb4..53ec0e8a 100644 --- a/.github/workflows/Build-Site.yml +++ b/.github/workflows/Build-Site.yml @@ -48,7 +48,7 @@ jobs: fetch-depth: 0 - name: Install-PSModuleHelpers - uses: PSModule/Install-PSModuleHelpers@e05e9875aafc0a1e63fc13989b3b683a7ef6444f # v1.0.5 + uses: PSModule/Install-PSModuleHelpers@d60d63e4be477d1ca0c67c6085101fb109bce8f1 # v1.0.6 - name: Download docs artifact uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 diff --git a/.github/workflows/Linter.yml b/.github/workflows/Linter.yml index 70a57ce2..8d3dbfb9 100644 --- a/.github/workflows/Linter.yml +++ b/.github/workflows/Linter.yml @@ -25,7 +25,7 @@ jobs: fetch-depth: 0 - name: Lint code base - uses: super-linter/super-linter@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: GITHUB_TOKEN: ${{ github.token }} VALIDATE_BIOME_FORMAT: false diff --git a/.github/workflows/Test-Module.yml b/.github/workflows/Test-Module.yml index 912bdf3a..77644516 100644 --- a/.github/workflows/Test-Module.yml +++ b/.github/workflows/Test-Module.yml @@ -92,7 +92,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Test-Module - uses: PSModule/Test-PSModule@80b0364db8192e73f584603c68a127de171f881f # v3.0.6 + uses: PSModule/Test-PSModule@7d94ed751a60973867e84ea8d44521e94b7c485d # v3.0.7 with: Name: ${{ inputs.Name }} Debug: ${{ inputs.Debug }} diff --git a/.github/workflows/Test-ModuleLocal.yml b/.github/workflows/Test-ModuleLocal.yml index 3127e89e..fa4dde48 100644 --- a/.github/workflows/Test-ModuleLocal.yml +++ b/.github/workflows/Test-ModuleLocal.yml @@ -104,7 +104,7 @@ jobs: path: ${{ inputs.WorkingDirectory }}/outputs/module - name: Install-PSModuleHelpers - uses: PSModule/Install-PSModuleHelpers@e05e9875aafc0a1e63fc13989b3b683a7ef6444f # v1.0.5 + uses: PSModule/Install-PSModuleHelpers@d60d63e4be477d1ca0c67c6085101fb109bce8f1 # v1.0.6 - name: Import-Module id: import-module diff --git a/.github/workflows/Test-SourceCode.yml b/.github/workflows/Test-SourceCode.yml index ba4756cf..b9001ad9 100644 --- a/.github/workflows/Test-SourceCode.yml +++ b/.github/workflows/Test-SourceCode.yml @@ -56,7 +56,7 @@ jobs: fetch-depth: 0 - name: Test-SourceCode - uses: PSModule/Test-PSModule@80b0364db8192e73f584603c68a127de171f881f # v3.0.6 + uses: PSModule/Test-PSModule@7d94ed751a60973867e84ea8d44521e94b7c485d # v3.0.7 with: Debug: ${{ inputs.Debug }} Prerelease: ${{ inputs.Prerelease }} diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 581d79e6..f5c0ece6 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -133,7 +133,7 @@ jobs: - name: Lint code base id: super-linter - uses: super-linter/super-linter@2bdd90ed3262e023ac84bf8fe35dc480721fc1f2 # v8.2.1 + uses: super-linter/super-linter@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0 env: GITHUB_TOKEN: ${{ github.token }} DEFAULT_WORKSPACE: ${{ inputs.WorkingDirectory }} diff --git a/.specify/memory/constitution.md b/.specify/memory/constitution.md index 4bc59ab8..5b52fc91 100644 --- a/.specify/memory/constitution.md +++ b/.specify/memory/constitution.md @@ -495,21 +495,21 @@ The Process-PSModule workflow uses **dynamic conditions** to determine job execu ### Publishing Behavior Examples -| PR State | Labels | Build/Test | Publish-Module | Publish-Site | Version | -|----------|--------|------------|----------------|--------------|---------| -| Opened | `minor` | ✅ Yes | ❌ No | ❌ No | N/A (not published) | -| Opened | `prerelease` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname001` | -| Opened | `prerelease`, `minor` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname001` | -| Synchronized | `major` | ✅ Yes | ❌ No | ❌ No | N/A (not published) | -| Synchronized | `prerelease` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname002` | -| Merged | `minor` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.3.0` | -| Merged | `major` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `2.0.0` | -| Merged | `patch` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.2.4` | -| Merged | (no label) | ✅ Yes | ✅ Yes (if AutoPatching) | ✅ Yes | `1.2.4` (patch) | -| Merged | `NoRelease` | ✅ Yes | ❌ No | ❌ No | N/A (skipped) | -| Merged | `prerelease`, `minor` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.3.0` (prerelease ignored) | -| Scheduled (cron) | N/A | ✅ Yes | ❌ No | ❌ No | N/A (validation only) | -| Manual (workflow_dispatch) | N/A | ✅ Yes | ❌ No | ❌ No | N/A (validation only) | +| PR State | Labels | Build/Test | Publish-Module | Publish-Site | Version | +| -------------------------- | --------------------- | ---------- | ------------------------ | ------------ | ---------------------------- | +| Opened | `minor` | ✅ Yes | ❌ No | ❌ No | N/A (not published) | +| Opened | `prerelease` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname001` | +| Opened | `prerelease`, `minor` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname001` | +| Synchronized | `major` | ✅ Yes | ❌ No | ❌ No | N/A (not published) | +| Synchronized | `prerelease` | ✅ Yes | ✅ Yes (prerelease) | ❌ No | `1.3.0-branchname002` | +| Merged | `minor` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.3.0` | +| Merged | `major` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `2.0.0` | +| Merged | `patch` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.2.4` | +| Merged | (no label) | ✅ Yes | ✅ Yes (if AutoPatching) | ✅ Yes | `1.2.4` (patch) | +| Merged | `NoRelease` | ✅ Yes | ❌ No | ❌ No | N/A (skipped) | +| Merged | `prerelease`, `minor` | ✅ Yes | ✅ Yes (normal) | ✅ Yes | `1.3.0` (prerelease ignored) | +| Scheduled (cron) | N/A | ✅ Yes | ❌ No | ❌ No | N/A (validation only) | +| Manual (workflow_dispatch) | N/A | ✅ Yes | ❌ No | ❌ No | N/A (validation only) | ### Version Calculation Process diff --git a/.specify/templates/plan-template.md b/.specify/templates/plan-template.md index 53ee1010..c1a663b8 100644 --- a/.specify/templates/plan-template.md +++ b/.specify/templates/plan-template.md @@ -35,17 +35,17 @@ ## Technical Context -| Aspect | Details | -|--------|---------| -| **Language/Version** | [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION] | -| **Primary Dependencies** | [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION] | -| **Storage** | [if applicable, e.g., PostgreSQL, CoreData, files or N/A] | -| **Testing** | [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] | -| **Target Platform** | [e.g., Linux server, iOS 15+, Wasm or NEEDS CLARIFICATION] | -| **Project Type** | [single/web/mobile - determines source structure] | -| **Performance Goals** | [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] | -| **Constraints** | [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] | -| **Scale/Scope** | [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] | +| Aspect | Details | +| ------------------------ | ------------------------------------------------------------------------------------------ | +| **Language/Version** | [e.g., Python 3.11, Swift 5.9, Rust 1.75 or NEEDS CLARIFICATION] | +| **Primary Dependencies** | [e.g., FastAPI, UIKit, LLVM or NEEDS CLARIFICATION] | +| **Storage** | [if applicable, e.g., PostgreSQL, CoreData, files or N/A] | +| **Testing** | [e.g., pytest, XCTest, cargo test or NEEDS CLARIFICATION] | +| **Target Platform** | [e.g., Linux server, iOS 15+, Wasm or NEEDS CLARIFICATION] | +| **Project Type** | [single/web/mobile - determines source structure] | +| **Performance Goals** | [domain-specific, e.g., 1000 req/s, 10k lines/sec, 60 fps or NEEDS CLARIFICATION] | +| **Constraints** | [domain-specific, e.g., <200ms p95, <100MB memory, offline-capable or NEEDS CLARIFICATION] | +| **Scale/Scope** | [domain-specific, e.g., 10k users, 1M LOC, 50 screens or NEEDS CLARIFICATION] | ## Constitution Check @@ -243,10 +243,10 @@ directories captured above] *Fill ONLY if Constitution Check has violations that must be justified* -| Violation | Why Needed | Simpler Alternative Rejected Because | -|-----------|------------|-------------------------------------| -| [e.g., 4th project] | [current need] | [why 3 projects insufficient] | -| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | +| Violation | Why Needed | Simpler Alternative Rejected Because | +| -------------------------- | ------------------ | ------------------------------------ | +| [e.g., 4th project] | [current need] | [why 3 projects insufficient] | +| [e.g., Repository pattern] | [specific problem] | [why direct DB access insufficient] | ## Progress Tracking diff --git a/.specify/templates/spec-template.md b/.specify/templates/spec-template.md index 9e2de0cb..600e8d0b 100644 --- a/.specify/templates/spec-template.md +++ b/.specify/templates/spec-template.md @@ -20,53 +20,53 @@ ### Functional Requirements -| ID | Requirement | -|----|-------------| -| **FR-001** | System MUST [specific capability, e.g., "allow users to create accounts"] | -| **FR-002** | System MUST [specific capability, e.g., "validate email addresses"] | -| **FR-003** | Users MUST be able to [key interaction, e.g., "reset their password"] | -| **FR-004** | System MUST [data requirement, e.g., "persist user preferences"] | -| **FR-005** | System MUST [behavior, e.g., "log all security events"] | +| ID | Requirement | +| ---------- | ----------------------------------------------------------------------------------------------------------------- | +| **FR-001** | System MUST [specific capability, e.g., "allow users to create accounts"] | +| **FR-002** | System MUST [specific capability, e.g., "validate email addresses"] | +| **FR-003** | Users MUST be able to [key interaction, e.g., "reset their password"] | +| **FR-004** | System MUST [data requirement, e.g., "persist user preferences"] | +| **FR-005** | System MUST [behavior, e.g., "log all security events"] | | **FR-006** | System MUST authenticate users via [NEEDS CLARIFICATION: auth method not specified - email/password, SSO, OAuth?] | -| **FR-007** | System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified] | +| **FR-007** | System MUST retain user data for [NEEDS CLARIFICATION: retention period not specified] | ### Non-Functional Requirements -| ID | Requirement | -|----|-------------| -| **NFR-001** | System MUST respond within [specific time, e.g., "500ms for 95th percentile"] | -| **NFR-002** | System MUST handle [specific load, e.g., "1000 concurrent users"] | -| **NFR-003** | System MUST maintain [availability target, e.g., "99.9% uptime"] | -| **NFR-004** | System MUST scale to [capacity limit, e.g., "10,000 transactions per second"] | -| **NFR-005** | System MUST recover within [time period, e.g., "5 minutes after failure"] | +| ID | Requirement | +| ----------- | ------------------------------------------------------------------------------------------------------------ | +| **NFR-001** | System MUST respond within [specific time, e.g., "500ms for 95th percentile"] | +| **NFR-002** | System MUST handle [specific load, e.g., "1000 concurrent users"] | +| **NFR-003** | System MUST maintain [availability target, e.g., "99.9% uptime"] | +| **NFR-004** | System MUST scale to [capacity limit, e.g., "10,000 transactions per second"] | +| **NFR-005** | System MUST recover within [time period, e.g., "5 minutes after failure"] | | **NFR-006** | System MUST encrypt data [NEEDS CLARIFICATION: encryption scope not specified - at rest, in transit, both?] | -| **NFR-007** | System MUST maintain audit logs for [NEEDS CLARIFICATION: retention period not specified] | +| **NFR-007** | System MUST maintain audit logs for [NEEDS CLARIFICATION: retention period not specified] | ### Quality Attributes Addressed -| Attribute | Target Metric | -|-----------|---------------| -| **Performance** | [e.g., "Response time < 200ms", "Throughput > 5000 TPS"] | -| **Scalability** | [e.g., "Support 100,000 concurrent users", "Linear scaling to 10 nodes"] | -| **Availability** | [e.g., "99.95% uptime", "Max 4 hours downtime per year"] | -| **Reliability** | [e.g., "MTBF > 720 hours", "Error rate < 0.01%"] | -| **Security** | [e.g., "OWASP Top 10 compliant", "SOC 2 Type II certified"] | -| **Maintainability** | [e.g., "Code coverage > 80%", "Cyclomatic complexity < 10"] | -| **Usability** | [e.g., "Task completion time < 2 minutes", "User satisfaction > 4.5/5"] | +| Attribute | Target Metric | +| ------------------- | ------------------------------------------------------------------------- | +| **Performance** | [e.g., "Response time < 200ms", "Throughput > 5000 TPS"] | +| **Scalability** | [e.g., "Support 100,000 concurrent users", "Linear scaling to 10 nodes"] | +| **Availability** | [e.g., "99.95% uptime", "Max 4 hours downtime per year"] | +| **Reliability** | [e.g., "MTBF > 720 hours", "Error rate < 0.01%"] | +| **Security** | [e.g., "OWASP Top 10 compliant", "SOC 2 Type II certified"] | +| **Maintainability** | [e.g., "Code coverage > 80%", "Cyclomatic complexity < 10"] | +| **Usability** | [e.g., "Task completion time < 2 minutes", "User satisfaction > 4.5/5"] | ### Constraints *(include if applicable)* -| Constraint | Description | -|------------|-------------| +| Constraint | Description | +| ------------------ | --------------------------------------------------------------------- | | **[Constraint 1]** | [Limitation or restriction, e.g., "Must run on Windows Server 2019+"] | -| **[Constraint 2]** | [Compliance requirement, e.g., "Must comply with GDPR"] | +| **[Constraint 2]** | [Compliance requirement, e.g., "Must comply with GDPR"] | ### Key Entities *(include if feature involves data)* -| Entity | Description | -|--------|-------------| +| Entity | Description | +| -------------- | ----------------------------------------------------------- | | **[Entity 1]** | [What it represents, key attributes without implementation] | -| **[Entity 2]** | [What it represents, relationships to other entities] | +| **[Entity 2]** | [What it represents, relationships to other entities] | --- diff --git a/README.md b/README.md index fa4d33d1..c3538716 100644 --- a/README.md +++ b/README.md @@ -200,23 +200,23 @@ For more info see [Deploy GitHub Pages site](https://github.com/marketplace/acti This table shows when each job runs based on the trigger scenario: -| 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 | ✅ Yes* | ✅ Yes | -| **Get-TestResults** | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes | -| **Get-CodeCoverage** | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes | -| **Publish-Site** | ❌ No | ✅ Yes | ❌ No | ❌ No | -| **Publish-Module** | ✅ Yes** | ✅ Yes** | ✅ Yes*** | ✅ Yes** | +| 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 | ✅ Yes* | ✅ Yes | +| **Get-TestResults** | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes | +| **Get-CodeCoverage** | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes | +| **Publish-Site** | ❌ No | ✅ Yes | ❌ No | ❌ No | +| **Publish-Module** | ✅ Yes** | ✅ Yes** | ✅ Yes*** | ✅ Yes** | \* Runs for cleanup if tests were started \*\* Only when all tests/coverage/build succeed @@ -261,7 +261,7 @@ The following settings are available in the settings file: | `Publish.Module.AutoCleanup` | `Boolean` | Automatically cleanup old prerelease module versions | `true` | | `Publish.Module.AutoPatching` | `Boolean` | Automatically patch module version | `true` | | `Publish.Module.IncrementalPrerelease` | `Boolean` | Use incremental prerelease versioning | `true` | -| `Publish.Module.DatePrereleaseFormat` | `String` | Format for date-based prerelease ([.NET DateTime](https://learn.microsoft.com/dotnet/standard/base-types/standard-date-and-time-format-strings)) | `''` | +| `Publish.Module.DatePrereleaseFormat` | `String` | Format for date-based prerelease ([.NET DateTime][netdt]) | `''` | | `Publish.Module.VersionPrefix` | `String` | Prefix for version tags | `'v'` | | `Publish.Module.MajorLabels` | `String` | Labels indicating a major version bump | `'major, breaking'` | | `Publish.Module.MinorLabels` | `String` | Labels indicating a minor version bump | `'minor, feature'` | @@ -453,3 +453,5 @@ The process is compatible with: - [GitHub Flow specifications](https://docs.github.com/en/get-started/using-github/github-flow) - [SemVer 2.0.0 specifications](https://semver.org) - [Continuous Delivery practices](https://en.wikipedia.org/wiki/Continuous_delivery) + +[netdt]: https://learn.microsoft.com/dotnet/standard/base-types/standard-date-and-time-format-strings