# Whenever an open PR is updated, the workflow will be triggered

name: Language Linting

on:
  push:
    branches:
      - main

  pull_request:
    types: [opened, synchronize, reopened, ready_for_review]
    branches:
      - main

jobs:
  typos:
    if: github.event.pull_request.draft == false
    name: Check for typos
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Check for typos
        uses: crate-ci/typos@master

  # Check for invalid links in the repository
  link-check:
    if: github.event.pull_request.draft == false
    name: Check For Invalid Links
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Restore lychee cache
        uses: actions/cache@v4
        with:
          path: .lycheecache
          key: cache-lychee-${{ github.sha }}
          restore-keys: cache-lychee-
      - name: Run lychee
        uses: lycheeverse/lychee-action@v2
        with:
          args: --base . --config ./lychee.toml './**/*.md'
          fail: true
