name: "Docs / Publish"
# For more information,
# see https://sphinx-theme.scylladb.com/stable/deployment/production.html#available-workflows

env:
  FLAG: ${{ github.repository == 'scylladb/scylla-enterprise' && 'enterprise' || 'opensource' }}
  DEFAULT_BRANCH: ${{ github.repository == 'scylladb/scylla-enterprise' && 'enterprise' || 'master' }}

on:
  push:
    branches:
      - 'master'
      - 'enterprise'
      - 'branch-**'
    paths:
      - "docs/**"
  workflow_dispatch:

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          ref: ${{ env.DEFAULT_BRANCH }}
          persist-credentials: false
          fetch-depth: 0
      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.10"
      - name: Set up env
        run: make -C docs FLAG="${{ env.FLAG }}" setupenv
      - name: Build docs
        run: make -C docs FLAG="${{ env.FLAG }}" multiversion
      - name: Build redirects
        run: make -C docs FLAG="${{ env.FLAG }}" redirects
      - name: Deploy docs to GitHub Pages
        run: ./docs/_utils/deploy.sh
        if: (github.ref_name == 'master' && env.FLAG == 'opensource') || (github.ref_name == 'enterprise' && env.FLAG == 'enterprise')
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
