name: Check hyperlinks

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6

    - name: Set up Python
      uses: actions/setup-python@v6
      with:
        python-version: "3.10"

    - name: Install dependencies
      run: |
        curl -LsSf https://astral.sh/uv/install.sh | sh
        uv sync --dev
        uv add pytest-check-links

    - name: Check links
      env:
        CHECK_LINKS_TIMEOUT: "10"
      run: |
        source .venv/bin/activate
        pytest --check-links ./ \
          --check-links-ignore "https://platform.openai.com/*" \
          --check-links-ignore "https://openai.com/*" \
          --check-links-ignore "https://arena.lmsys.org" \
          --check-links-ignore "https?://localhost(:\\d+)?/.*" \
          --check-links-ignore "https?://127[.]0[.]0[.]1(:\\d+)?/.*" \
          --check-links-ignore "https://mng\\.bz/.*" \
          --check-links-ignore "https://github\\.com/.*" \
          --check-links-ignore "https://unsloth.ai/blog/gradient" \
          --check-links-ignore "https://www.reddit.com/r/*" \
          --check-links-ignore "https://code.visualstudio.com/*" \
          --check-links-ignore "https://arxiv.org/*" \
          --check-links-ignore "https://ai.stanford.edu/~amaas/data/sentiment/" \
          --check-links-ignore "https://x.com/*" \
          --check-links-ignore "https://scholar.google.com/*"
