harden(spike/#41): stop the ADR-006 harness exiting green on an unexercised control #129
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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" |