Skip to content

⚙️ [Maintenance]: Public help links follow canonical documentation paths#420

Merged
Marius Storhaug (MariusStorhaug) merged 4 commits into
mainfrom
validate-public-help-links
Jul 26, 2026
Merged

⚙️ [Maintenance]: Public help links follow canonical documentation paths#420
Marius Storhaug (MariusStorhaug) merged 4 commits into
mainfrom
validate-public-help-links

Conversation

@MariusStorhaug

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

Copy link
Copy Markdown
Member

Public module source validation requires each public function-bearing script under src/functions/public to put its canonical generated-documentation URL first in comment-based help.

Changed: Canonical public help links are enforced for function-bearing files

The source-code standards suite derives documentation paths from recursive public function paths and validates the first .LINK against https://psmodule.io/<ModuleName>/Functions/<relative path>/<FunctionName>/.

Technical Details

  • Test-SourceCode forwards the configured module name into the shared test action instead of falling back to the repository name.
  • Public help-link validation applies only to public scripts that define at least one function/filter.
  • Covers ungrouped and nested public function scripts.
  • Requires at least one .LINK, exact URL casing/content, first-link ordering, and a trailing slash.
  • Fixture repos cover both grouped and ungrouped function paths while non-function public scripts are not forced to provide canonical links.

Downstream dependency status (live)

  • PSModule/Domeneshop PR 🩹 [Patch]: Add Static code analysis back to the process #17 has already been merged into main at 2ca6f788c4b68a72c63d6472ae19720bc90cc8b9 while still pinned to Process-PSModule v6.1.13 (fb1bdb8fefd243292f779d2a856a38db6fe6daf4).
  • That downstream state currently lacks the local PublicHelpLinks / ModuleRequirements / TestLayout checks intended by this framework update.
  • Merging this PR unblocks downstream alignment by making the canonical public help-link validation available in the framework version line.

Validation

  • Focused PublicHelpLink runs pass for both dynamic module names (4 cases each after scoping).
  • Full source-code standards suites pass for both fixtures (13 tests each).
  • PSScriptAnalyzer reports no warnings or errors in changed files.
  • Draft PR CI passes, including linter, CodeQL, action analysis, and both workflow-test matrices.

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

github-actions Bot commented Jul 26, 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>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Marius Storhaug (MariusStorhaug) added a commit to PSModule/Domeneshop that referenced this pull request Jul 26, 2026
…rs (#17)

Domeneshop's public API and repository-local validation now exclude
template leftovers. The accidental greeting command is no longer
included, and checks that are now provided centrally are removed from
this repository.

## Fixed: Template command no longer appears in the public API

The module no longer exposes a generic greeting command left over from
its template. Domeneshop users now see only commands related to
authentication, domains, DNS, HTTP forwards, dynamic DNS, and invoices.

## Changed: Validation moved to shared pipeline

Repository-local copies of public-help-link, module-requirement, and
test-layout checks are removed so those checks run from the shared
Process-PSModule implementation instead of being duplicated here.

The remaining public command help links continue to use their canonical
`https://psmodule.io/Domeneshop/Functions/...` destinations. Validation
is supplied centrally by PSModule/Process-PSModule#420 at final commit
[`28647f438aab940fcc58851e38e3a4ee6ce9b9c3`](PSModule/Process-PSModule@28647f4).

> [!IMPORTANT]
> This pull request depends on PSModule/Process-PSModule#420 at
`28647f438aab940fcc58851e38e3a4ee6ce9b9c3` and must not merge until
Domeneshop consumes a Process-PSModule release containing that change,
so centralized validation is active.

---
<details>
<summary>Technical details</summary>

- Removes `src/functions/public/Get-PSModuleTest.ps1` and
`tests/Get-PSModuleTest.Tests.ps1`.
- Removes repository-local duplicates now centralized in shared tooling:
  - `tests/PublicHelpLinks.Tests.ps1`
  - `tests/ModuleRequirements.Tests.ps1`
  - `tests/TestLayout.Tests.ps1`
- Leaves canonical help links for remaining public commands unchanged.
- Exact upstream dependency: PSModule/Process-PSModule#420, final SHA
`28647f438aab940fcc58851e38e3a4ee6ce9b9c3`.
- Merge blocker: update Domeneshop to a Process-PSModule release that
contains that exact upstream change before merging this pull request.

</details>

<details>
<summary>Relevant issues (or links)</summary>

- PSModule/Process-PSModule#420

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review July 26, 2026 07:12
@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit b11b310 into main Jul 26, 2026
71 checks passed
@MariusStorhaug
Marius Storhaug (MariusStorhaug) deleted the validate-public-help-links branch July 26, 2026 07:16
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