name: Markdown (Fail Fast)

on:
  push:
  pull_request:

# Declare default permissions as read only.
permissions: read-all

jobs:
  changedfiles:
    name: changed files
    runs-on: ubuntu-latest
    outputs:
      md: ${{ steps.changes.outputs.md }}
    steps:
      - name: Checkout Repo
        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
        with:
          fetch-depth: 0
      - name: Get changed files
        id: changes
        run: |
          echo "md=$(git diff --name-only --diff-filter=ACMRTUXB origin/${{ github.event.pull_request.base.ref }} ${{ github.event.pull_request.head.sha }} | grep .md$ | xargs)" >> $GITHUB_OUTPUT

  lint:
    name: lint markdown files
    runs-on: ubuntu-latest
    needs: changedfiles
    if: ${{needs.changedfiles.outputs.md}}
    steps:
    - name: Checkout Repo
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
    - name: Run linter
      uses: docker://avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee
      with:
        args: ${{needs.changedfiles.outputs.md}}
