Commit 8fa878a
⚙️ [Maintenance]: Public help-link checks now support any HTTPS host (#532)
Public command help-link validation now works with any HTTPS
documentation host while preserving the required module and function
path structure. Repositories can publish their command reference outside
the PSModule documentation site without weakening the canonical URL
contract.
## Changed: Public help-link validation
Every public function must provide a first `.LINK` entry. The test fails
immediately when no `.LINK` section is found. When a link is present, it
must be an absolute HTTPS URL with a host and the canonical
`/Module/Functions/<relative-command>/` path; query strings and
fragments are rejected.
The PowerShell module standard, framework-test reference, pre-review
validation checklist, module-structuring guide, and skip-test guide now
document this requirement using a configurable HTTPS documentation host.
---
<details>
<summary>Technical details</summary>
- Changed
`.github/actions/Test-PSModule/src/tests/SourceCode/PSModule/PSModule.Tests.ps1`
to require a link, then parse the first `.LINK` URI and validate its
scheme, host, path, query, and fragment instead of comparing against a
hardcoded `psmodule.io` origin.
- Updated one grouped command fixture in each test repository to use
`https://docs.example.com`, proving the test does not depend on the
PSModule host.
- Documented `PublicHelpLink` in
`docs/content/reference/powershell-module-standard.md` and
`docs/content/reference/framework-test-ids.md`.
- Added the requirement to
`docs/content/guides/validating-before-review.md` and replaced
fixed-host examples in the structuring and skip-test guides with
`<DocumentationHost>`.
- Validation: the targeted Pester 6.1.0 source-code suite passed 13
tests for both `tests/srcTestRepo` and `tests/srcWithManifestTestRepo`;
`zensical build --strict` and `git diff --check` passed.
| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| `.github/actions/Test-PSModule/**` (PowerShell) | MSX PowerShell
standard | Public command help-link contract | Aligned |
| `tests/**` (PowerShell fixtures) | MSX PowerShell standard |
Source-code test fixtures | Aligned |
| `docs/content/reference/**` and `docs/content/guides/**` (Markdown) |
MSX Documentation Model, Markdown | Module layout and framework-test
guidance | Aligned |
Issue convergence sweep: scoped to reusable public help-link validation
and its contributor guidance. This change does not generate missing
links during scaffolding or build, so the broader follow-up remains
open.
</details>
<details>
<summary>Relevant issues (or links)</summary>
### Related work
- References #445
- References #453
</details>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>1 parent d4b270c commit 8fa878a
8 files changed
Lines changed: 25 additions & 13 deletions
File tree
- .github/actions/Test-PSModule/src/tests/SourceCode/PSModule
- docs/content
- guides
- reference
- tests
- srcTestRepo/src/functions/public/PSModule
- srcWithManifestTestRepo/src/functions/public/PSModule
Lines changed: 14 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | 62 | | |
64 | 63 | | |
65 | 64 | | |
| |||
360 | 359 | | |
361 | 360 | | |
362 | 361 | | |
363 | | - | |
364 | | - | |
| 362 | + | |
| 363 | + | |
365 | 364 | | |
366 | 365 | | |
367 | 366 | | |
368 | 367 | | |
369 | 368 | | |
370 | | - | |
371 | | - | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
372 | 381 | | |
373 | 382 | | |
374 | 383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
148 | | - | |
| 148 | + | |
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
| 166 | + | |
167 | 167 | | |
168 | 168 | | |
169 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
| 361 | + | |
361 | 362 | | |
362 | 363 | | |
363 | 364 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
0 commit comments