name: Link checker

on:
  pull_request:
    paths:
      - 'userdocs/**'
      - '**.md'
  push:
    branches:
      - main
    paths:
      - 'userdocs/**'
      - '**.md'

jobs:
  link-checker:
    name: Check site links
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.9]
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Setup Go
        uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 #v4.0.0
        with:
          go-version: 1.18.x
      - name: Install doc dependencies
        run: make install-site-deps
      - name: Build docs for link check
        run: make build-pages
        # Using link-checker action to check links in Markdown, HTML files
      - name: Link Checker
        uses: lycheeverse/lychee-action@ec3ed119d4f44ad2673a7232460dc7dff59d2421 #v1.8.0
        with:
          fail: true
          args: --exclude-all-private --exclude-file .github/workflows/exclude-file.txt --verbose --no-progress './**/*.md' './**/*.html'
