name: Update gh-pages

on:
  release:
    types: [released]

jobs:
  build_docs:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout sources
      uses: actions/checkout@v4
      with:
        persist-credentials: false

    - name: Set up bun
      uses: oven-sh/setup-bun@v2

    - name: Install dependencies ⏬
      run: bun install

    - name: Generate documentation 🏗️
      run: bun run generate-docs

    - name: Get geostyler version
      run: |
        echo "VERSION=$(node -pe "require('./package.json').version")" >> $GITHUB_ENV

    - name: Deploy (to docs/v${{ env.VERSION }}) 🚀
      uses: JamesIves/github-pages-deploy-action@v4.6.1
      with:
        branch: gh-pages
        folder: docs
        target-folder: docs/v${{ env.VERSION }}

    - name: Deploy (to docs/latest) 🚀
      uses: JamesIves/github-pages-deploy-action@v4.6.1
      with:
        branch: gh-pages
        folder: docs
        target-folder: docs/latest
