Skip to content

Workflow-Test [Default] - push [⚙️ [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 ... #1951

Workflow-Test [Default] - push [⚙️ [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 ...

Workflow-Test [Default] - push [⚙️ [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 ... #1951

name: Workflow-Test [Default]
run-name: 'Workflow-Test [Default] - ${{ github.event_name }} [${{ github.event.pull_request.title || github.event.head_commit.message || github.ref_name }}] by @${{ github.actor }}'
on:
workflow_dispatch:
push:
branches:
- main
paths:
- '.github/actions/**'
- '.github/workflows/**'
- 'tests/srcTestRepo/**'
- '!.github/workflows/Release.yml'
- '!.github/workflows/Linter.yml'
pull_request:
types:
- closed
- opened
- reopened
- synchronize
- labeled
- unlabeled
paths:
- '.github/actions/**'
- '.github/workflows/**'
- 'tests/srcTestRepo/**'
- '!.github/workflows/Release.yml'
- '!.github/workflows/Linter.yml'
schedule:
- cron: '0 0 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: false
permissions:
contents: read
pages: write
id-token: write
jobs:
WorkflowTestDefault:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
uses: ./.github/workflows/workflow.yml
secrets:
PSGALLERY_API_KEY: ${{ secrets.PSGALLERY_API_KEY }}
GitHubAppClientId: ${{ secrets.SHELLY_CLIENT_ID }}
GitHubAppPrivateKey: ${{ secrets.SHELLY_PRIVATE_KEY }}
TestData: >-
{
"secrets": {
"PSMODULE_TEST_SINGLELINE_SECRET": "${{ secrets.PSMODULE_TEST_SINGLELINE_SECRET }}"
},
"variables": {
"PSMODULE_TEST_VARIABLE": ${{ toJSON(vars.PSMODULE_TEST_VARIABLE) }}
}
}
with:
WorkingDirectory: tests/srcTestRepo
ImportantFilePatterns: |
^tests/srcTestRepo/
^\.github/actions/
^\.github/workflows/(?!Release\.yml$|Linter\.yml$)
VerifyRootFunctionsIndexDefault:
if: github.event.action != 'closed'
name: Verify root Functions index [Default]
runs-on: ubuntu-latest
needs:
- WorkflowTestDefault
steps:
- name: Checkout repo
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
fetch-depth: 0
- name: Download docs artifact
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: docs
path: tests/srcTestRepo/outputs/docs
- name: Verify root Functions index is published
shell: pwsh
run: |
$path = 'tests/srcTestRepo/outputs/docs/index.md'
if (-not (Test-Path -Path $path)) {
throw 'Expected root Functions index at ' +
'tests/srcTestRepo/outputs/docs/index.md.'
}
$content = Get-Content -Path $path -Raw
$expectedSnippets = @(
'# Functions'
'This landing page is authored from the root of ' +
'`src/functions/public`.'
'Use it to introduce the module''s function surface ' +
'before readers drill into each group.'
)
foreach ($snippet in $expectedSnippets) {
if (-not $content.Contains($snippet)) {
throw 'Expected snippet not found in generated root ' +
"Functions index: $snippet"
}
}