name: Build documentation and deploy to GitHub Pages

on:
  push:
    branches: [main]
  workflow_dispatch:

# Cancel previous run (see: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency)
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    uses: pmndrs/docs/.github/workflows/build.yml@v2
    with:
      mdx: 'docs'
      libname: 'Zustand'
      home_redirect: '/getting-started/introduction'
      icon: '/favicon.ico'
      logo: '/bear.jpg'
      github: 'https://github.com/pmndrs/zustand'

  deploy:
    needs: build
    runs-on: ubuntu-latest

    # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
    permissions:
      pages: write # to deploy to Pages
      id-token: write # to verify the deployment originates from an appropriate source

    # Deploy to the github-pages environment
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}

    steps:
      - id: deployment
        uses: actions/deploy-pages@v4
