name: Documentation Lint
on:
pull_request:
push:
branches: [main, master]
concurrency:
group: docs-lint-${{ github.ref }}
cancel-in-progress: true
jobs:
docs-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install lychee
run: cargo install lychee --locked
- name: Install harper-cli
run: |
curl -fsSL https://github.com/Automattic/harper/releases/download/v2.6.0/harper-cli-x86_64-unknown-linux-gnu.tar.gz \
| tar -xz -C "$HOME/.cargo/bin"
harper-cli --help >/dev/null
- name: Install Markdown lint
run: npm install -g markdownlint-cli2
- name: Documentation lint
run: DOCS_LINT_REQUIRE_EXTERNAL=all DOCS_LINT_HARPER_ADVISORY=1 bash scripts/docs-lint.sh