name: github-pages
on:
  push:
    branches: [master]
    tags:
      - 'v*'
      - '!v*-alpha*'
      - '!v*-beta*'
      - '!v*-rc*'

permissions:
  contents: write

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          fetch-depth: 0

      - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
        with:
          python-version: 3.x

      - name: Install dependencies
        run: pip install mike mkdocs-material[imaging] mkdocs-minify-plugin mkdocs-swagger-ui-tag

      - name: Publish documentation
        if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
        run: mike deploy --push ${{ github.ref_name }}
        env:
          GIT_COMMITTER_NAME: "github-actions[bot]"
          GIT_COMMITTER_EMAIL: "41898282+github-actions[bot]@users.noreply.github.com"
      - name: Publish latest documentation
        if: ${{ startsWith(github.ref, 'refs/tags/') }}
        run: mike deploy --push --update-aliases ${{ github.ref_name }} latest
        env:
          GIT_COMMITTER_NAME: "github-actions[bot]"
          GIT_COMMITTER_EMAIL: "41898282+github-actions[bot]@users.noreply.github.com"
