name: links when pr

on:
  pull_request_target:
    branches: [main]
    paths:
      - "**.md"
      - "docs/**"
      - ".lycheeignore"

jobs:
  linkChecker:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Build Docs
        uses: ./.github/actions/build-docs

      - name: Link Checker
        uses: lycheeverse/lychee-action@v1.8.0
        with:
          fail:
            true
            # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters
            # -E, --exclude-all-private    Exclude all private IPs from checking.
            # -i, --insecure               Proceed for server connections considered insecure (invalid TLS)
            # -n, --no-progress            Do not show progress bar.
            # -t, --timeout <timeout>      Website timeout in seconds from connect to response finished [default:20]
            # --max-concurrency <max-concurrency>    Maximum number of concurrent network requests [default: 128]
            # -a --accept <accept>                      Comma-separated list of accepted status codes for valid links

            # docs/.vitepress/dist the site directory to check
            # ./*.md all markdown files in the root directory
          args: -E -i -n -t 45 --max-concurrency 64 -a 401,403 -- 'docs/.vitepress/dist' '*.md'
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
