Files
pulse/.github/workflows/public-docs.yml
T
pulse-triage[bot] 54f40a6a76 Run complete documentation safety suites on docs-only changes
The docs-only job kept twelve literal suites while thirty existing privacy, authentication, recovery and other guide suites were omitted. Discover the complete documentation inventory in four isolated bounded shards, trigger on every helper change, and preserve the required check as a fail-closed aggregate. Keep all-suite and explicit smoke execution, safety recipes and deadlines unchanged.

Contract-Neutral: Documentation CI admission and smoke-harness coverage only; no product runtime, installer behaviour, shipped guidance, release checks or subsystem contract changes.
Change-source: pulse-maintainer
2026-10-09 19:10:29 +01:00

93 lines
2.8 KiB
YAML

name: Public docs
on:
pull_request:
paths:
- "*.md"
- "docs/**"
- "frontend-modern/public/docs/**"
- ".github/ISSUE_TEMPLATE/**"
- ".github/PULL_REQUEST_TEMPLATE.md"
- "scripts/check_public_docs.py"
- "scripts/check_docs_mirror.py"
- "scripts/readme_entrypoints_test.py"
- "scripts/tests/**"
- "scripts/test-vm-disk.sh"
- ".github/workflows/public-docs.yml"
push:
branches:
- main
paths:
- "*.md"
- "docs/**"
- "frontend-modern/public/docs/**"
- ".github/ISSUE_TEMPLATE/**"
- ".github/PULL_REQUEST_TEMPLATE.md"
- "scripts/check_public_docs.py"
- "scripts/check_docs_mirror.py"
- "scripts/readme_entrypoints_test.py"
- "scripts/tests/**"
- "scripts/test-vm-disk.sh"
- ".github/workflows/public-docs.yml"
permissions:
contents: read
concurrency:
group: public-docs-${{ github.ref }}
cancel-in-progress: true
jobs:
recipes:
name: Documentation recipes (${{ matrix.shard }})
runs-on: ubuntu-24.04
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3]
steps:
- name: Check out repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
# Build and Test skips smoke for docs-only changes. Discover the complete
# current docs suite here, including privacy, authentication and recovery.
# Isolated shards retain all recipe deadlines without a longer CI path.
- name: Exercise documentation safety and diagnostic recipes
run: scripts/tests/run.sh --docs-shard "${{ matrix.shard }}"
# Preserve the existing required check name and fail closed on every shard.
check:
needs: recipes
if: ${{ always() }}
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Check out repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Require every documentation recipe shard
env:
RECIPE_RESULT: ${{ needs.recipes.result }}
run: |
if [[ "$RECIPE_RESULT" != success ]]; then
echo "Documentation recipe shards did not all succeed: $RECIPE_RESULT" >&2
exit 1
fi
- name: Validate public documentation
run: python3 scripts/check_public_docs.py
- name: Check getting-started safety and current plans
run: python3 scripts/readme_entrypoints_test.py
- name: Check shipped docs mirror sync
run: python3 scripts/check_docs_mirror.py
- name: Check documentation safety workflow contract
run: python3 scripts/tests/test_public_docs_workflow.py