Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
docs.yml 1.63 KiB
name: Release Docs

on:
  release:
    types: [released]

jobs:
  build-docs:
    permissions:
      contents: read
      id-token: write
    name: Build Docs
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
          - "3.11"
    env:
      POETRY_VERSION: "1.8.3"
    steps:
      - uses: actions/checkout@v4
      - name: Cache Poetry
        uses: actions/cache@v4
        with:
          path: ~/.poetry
          key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }}
          restore-keys: |
            ${{ runner.os }}-poetry-
      - name: Install poetry
        run: |
          pipx install poetry==$POETRY_VERSION
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: poetry
      - name: Install dependencies
        run: |
          poetry install --all-extras
      - name: Build docs
        run: |
          poetry run sphinx-build -M html docs/source docs/build
      - name: Authenticate to Google Cloud
        id: auth
        uses: google-github-actions/auth@v2
        with:
          credentials_json: ${{ secrets.GOOGLE_CREDENTIALS }}
      - name: Upload Docs
        run: |
          gcloud storage rsync docs/build/html gs://docs-bucket-production/semantic-router --recursive --delete-unmatched-destination-objects
      # - name: Upload Docs
      #   id: upload-directory
      #   uses: google-github-actions/upload-cloud-storage@v2
      #   with:
      #     path: docs/build/html
      #     destination: docs-bucket-production/semantic-router
      #     parent: false