name: Preview Fern Docs

on:
  pull_request

jobs:
    run:
        runs-on: ubuntu-latest
        permissions: write-all
        steps:
            - name: Checkout repository
              uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
              with:
                  persist-credentials: false

            - name: Install Fern
              run: npm install -g fern-api

            - name: Generate preview URL
              id: generate-docs
              env:
                  FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
              run: |
                  OUTPUT=$(fern generate --docs --preview 2>&1) || true
                  echo "$OUTPUT"
                  URL=$(echo "$OUTPUT" | grep -oP 'Published docs to \K.*(?= \()')
                  echo "Preview URL: $URL"
                  echo "🌿 Preview your docs: $URL" > preview_url.txt

            - name: Comment URL in PR
              uses: thollander/actions-comment-pull-request@1d3973dc4b8e1399c0620d3f2b1aa5e795465308 # v2.4.3
              with:
                  filePath: preview_url.txt
