name: "Lint documentation" on: workflow_dispatch: push: branches: [ main, linux ] paths: - '**.md' - '.github/workflows/lint-docs.yml' pull_request: branches: [ main, linux ] paths: - '**.md' - '.github/workflows/lint-docs.yml' jobs: lint-markdown: name: Lint markdown files runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: DavidAnson/markdownlint-cli2-action@8f3516061301755c97ff833a8e933f09282cc5b5 with: globs: | "**/*.md" "!.github/ISSUE_TEMPLATE" check-links: name: Check for broken links runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run link checker # For any troubleshooting, see: # https://github.com/lycheeverse/lychee/blob/master/docs/TROUBLESHOOTING.md uses: lycheeverse/lychee-action@ec3ed119d4f44ad2673a7232460dc7dff59d2421 with: # user-agent: if a user agent is not specified, some websites (e.g. # GitHub Docs) return HTTP errors which Lychee will interpret as # a broken link. # no-progress: do not show progress bar. Recommended for # non-interactive shells (e.g. for CI) # inputs: by default (.), this action checks files matching the # patterns: './**/*.md' './**/*.html' args: >- --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" --no-progress . fail: true env: # A token is used to avoid GitHub rate limiting. A personal token with # no extra permissions is enough to be able to check public repos # See: https://github.com/lycheeverse/lychee#github-token GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}