name: 📚 Publish docs

on:
  push:
    tags:
      - "docs-release-*"

# Only needs to move the docs-live ref; Mintlify's GitHub app deploys from it.
permissions:
  contents: write

concurrency:
  group: publish-docs
  cancel-in-progress: false

jobs:
  publish:
    runs-on: warp-ubuntu-latest-x64-2x
    steps:
      - name: 📥 Checkout tagged commit
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
        with:
          persist-credentials: false

      - name: 🔗 Check for broken links
        working-directory: ./docs
        run: npx mintlify@4.0.393 broken-links

      - name: 🚀 Fast-forward docs-live to the tagged commit
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api -X PATCH \
            "repos/${{ github.repository }}/git/refs/heads/docs-live" \
            -f sha="${{ github.sha }}" \
            -F force=false
