name: CI - File health

on: [pull_request, push]

permissions: {}

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: ${{ github.head_ref != '' }}

jobs:
  ci:
    name: Check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install tools
        uses: actions/setup-python@v5
        with:
          python-version: "*"

      - name: Check files
        uses: pre-commit/action@v3.0.1

      - name: Check doc
        env:
          pandoc_path: "${{ github.workspace }}/../pandoc"
        run: |
          # install pandoc
          curl \
            -L \
            -o "${{ runner.temp }}/pandoc.tar.gz" \
            "https://github.com/jgm/pandoc/releases/download/3.1.7/pandoc-3.1.7-linux-amd64.tar.gz"
          tar -xf "${{ runner.temp }}/pandoc.tar.gz" -C "${{ github.workspace }}/.."
          mv "${{ github.workspace }}/.."/pandoc-* "${{ env.pandoc_path }}"
          # run pandoc
          for lang in doc/*/; do
            "${{ env.pandoc_path }}/bin/pandoc" -f markdown -t man -s "$lang/qbittorrent.1.md" -o "$lang/qbittorrent.1"
            "${{ env.pandoc_path }}/bin/pandoc" -f markdown -t man -s "$lang/qbittorrent-nox.1.md" -o "$lang/qbittorrent-nox.1"
          done
          # check diff, ignore "Automatically generated by ..." part
          git diff -I '\.\\".*' --exit-code
