name: Building man page, man.test, manonig.test
on:
  push:
    paths:
      - '.github/workflows/manpage.yml'
      - 'docs/**'
      - 'tests/man.test'
      - 'tests/manonig.test'
      - 'jq.1.prebuilt'
  pull_request:
    paths:
      - '.github/workflows/manpage.yml'
      - 'docs/**'
      - 'tests/man.test'
      - 'tests/manonig.test'
      - 'jq.1.prebuilt'

jobs:
  manpages:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'
          cache: pipenv
      - name: Install pipenv
        run: pip install pipenv
      - name: Install dependencies
        run: pipenv sync
        working-directory: docs
      - name: Configure
        run: |
          autoreconf -i
          ./configure --enable-docs
      - name: Build man page, man.test, manonig.test
        run: |
          mv jq.1.prebuilt jq.1.old
          rm -f tests/man.test manonig.test
          make jq.1.prebuilt tests/man.test tests/manonig.test
      - name: Make sure that jq.1.prebuilt, man.test, manonig.test are up to date
        run: |
          git diff --exit-code tests/man.test tests/manonig.test
          # skip build date in jq.1.prebuilt
          test -s jq.1.prebuilt
          diff -- <(tail -n +3 jq.1.old) <(tail -n +3 jq.1.prebuilt)
