name: 07.2. Markdown Linter on: pull_request: paths: - '**/*.md' push: branches: - develop paths: - '**/*.md' # Supersede in-flight lint runs for the same PR/branch on new commits. concurrency: group: md-linter-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: lint: runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v7 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '20' - name: Install markdownlint run: npm install -g markdownlint-cli2 - name: Run Markdown Linter run: | # We only lint files in docs/ and v2-docs/ and README.md # but we ignore long line length rule (MD013) because links are long # We also ignore list indentation (MD005, MD007) and other structural rules that conflict with the Nubenetes database format echo '{ "MD004": false, "MD005": false, "MD007": false, "MD009": false, "MD010": false, "MD012": false, "MD013": false, "MD014": false, "MD022": false, "MD028": false, "MD030": false, "MD032": false, "MD033": false, "MD034": false, "MD036": false, "MD038": false, "MD041": false, "MD046": false, "MD047": false, "MD050": false, "MD051": false, "MD055": false, "MD060": false }' > .markdownlint.json markdownlint-cli2 "docs/**/*.md" "v2-docs/**/*.md" "README.md"