name: util docs |  build and deploy

on:
  pull_request:
    branches:
      - main
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

env:
  RUNTIME__LOG_LEVEL: ERROR

permissions:
  contents: write

jobs:
  get_docs_changes:
    name: run docs changes
    uses: ./.github/workflows/get_docs_changes.yml
  deploy:
    runs-on: ubuntu-latest
    needs: get_docs_changes
    if: needs.get_docs_changes.outputs.changes_outside_docs == 'false'

    steps:
      - name: Checkout code
        uses: actions/checkout@master

      - name: Install Poetry
        uses: snok/install-poetry@v1.3.1

      - name: Use output
        run: echo "The stage is finished"

      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11.x'

      - name: Install APT packages
        run: |
          sudo apt-get update &&
          sudo apt-get install pngquant

      - name: Install via Poetry
        run: poetry install --with dev,docs
        env:
          GH_TOKEN: ${{ secrets.PAT_FOR_CROSS_REPOS_CICD_TRIGGERING }}

      - name: Build and deploy MkDocs
        run: poetry run mkdocs gh-deploy --force
        env:
          DOCS_SEGMENT_KEY: ${{ secrets.DOCS_SEGMENT_KEY }}
