# Manual workflow for releasing docs ad-hoc. Workflow can only be run for main or release branches.
# Workflow does NOT publish a release of container.
name: Deploy application website

permissions:
  contents: read

on:
  workflow_dispatch:

jobs:
  checkBranch:
    runs-on: ubuntu-latest
    if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags') || startsWith(github.ref, 'refs/heads/release')
    steps:
      - name: Branch validation
        env:
          REF_NAME: ${{ github.ref_name }}
        run: echo "Branch ${REF_NAME} is allowed"

  buildSite:
    name: Build application website
    needs: checkBranch
    uses: ./.github/workflows/common.yml
    secrets: inherit
    permissions:
      contents: read
      packages: write
      pages: write

  deployDocs:
    runs-on: ubuntu-latest
    needs: [checkBranch, buildSite]
    permissions:
      contents: read
      pages: write
      id-token: write

    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}

    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v5
