Skip to content

docs: state the public reality before the visibility switch #119

docs: state the public reality before the visibility switch

docs: state the public reality before the visibility switch #119

Workflow file for this run

# docs-ci — deterministic Markdown lint + link checks for APP-01 documentation.
# Tool versions and their full transitive graph are committed in package-lock.json.
name: docs-ci
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
permissions: {}
jobs:
markdown-lint:
name: markdown-lint (markdownlint-cli2)
runs-on: ubuntu-24.04
timeout-minutes: 10
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22.23.1"
cache: npm
- name: verify exact toolchain, registry and lockfile
run: |
npm run toolchain:check
npm run lockfile:check
- name: deterministic install with lifecycle scripts disabled
run: npm ci --ignore-scripts --audit=false --fund=false
- name: markdownlint
id: markdownlint
continue-on-error: true
run: |
set -o pipefail
npm run docs:lint 2>&1 | tee markdownlint.log
- name: upload markdownlint diagnostics
if: steps.markdownlint.outcome == 'failure'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: markdownlint-diagnostics
path: markdownlint.log
if-no-files-found: error
retention-days: 7
- name: enforce markdownlint result
if: steps.markdownlint.outcome == 'failure'
run: exit 1
link-check:
name: link-check (markdown-link-check)
runs-on: ubuntu-24.04
timeout-minutes: 15
permissions:
contents: read
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "22.23.1"
cache: npm
- name: verify exact toolchain, registry and lockfile
run: |
npm run toolchain:check
npm run lockfile:check
- name: deterministic install with lifecycle scripts disabled
run: npm ci --ignore-scripts --audit=false --fund=false
- name: check links in all tracked Markdown without package downloads
run: |
set -euo pipefail
rc=0
while IFS= read -r f; do
echo "::group::$f"
./node_modules/.bin/markdown-link-check --quiet \
--config .markdown-link-check.json "$f" || rc=1
echo "::endgroup::"
done < <(git ls-files '*.md')
exit "$rc"