name: Release Docs

on:
  push:
    tags:
      - "v*"

permissions: {}
jobs:
  release_docs:
    permissions:
      contents: write  #  for mike to push

    name: Release Docs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - uses: actions/setup-python@v4
        with:
          python-version: "3.10"
          cache: "pip"
          cache-dependency-path: "./docs/scripts/requirements.txt"

      - uses: actions/setup-go@v4
        with:
          go-version: '^1.21'

      - run: |
          pip install -r docs/scripts/requirements.txt

      - name: setup
        run: |
          ./docs/scripts/copy_docs.sh
          go run ./docs/scripts/docs.go

      - name: Configure Git user
        run: |
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
          git config --local user.name "github-actions[bot]"

      - name: build and push
        run: |
          mike deploy ${{ github.ref_name }} latest --push --update-aliases
          mike set-default --push latest
