# Copyright 2022 Google LLC
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file or at
# https://developers.google.com/open-source/licenses/bsd

# A workflow to publish the docs to GitHub Pages.
name: Publish Docs

# Runs when called from another workflow.
# Can also be run manually for debugging purposes.
on:
  workflow_call:
    inputs:
      ref:
        required: true
        type: string
  # For manual debugging:
  workflow_dispatch:
    inputs:
      ref:
        description: "The ref to build docs from."
        required: true
        type: string

jobs:
  build_docs:
    name: Build docs
    uses: ./.github/workflows/build-docs.yaml
    with:
      ref: ${{ inputs.ref }}

  publish_docs:
    name: Publish updated docs
    needs: build_docs
    runs-on: ubuntu-latest

    # Grant GITHUB_TOKEN the permissions required to deploy to Pages
    permissions:
      pages: write
      id-token: write

    # Deploy to the github-pages environment
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}

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