Skip to main content
EVOKORE// WORKFLOWS / docs.yml
openai/openai-agents-pythonworkflow · 49 lines

.github/workflows/docs.yml

CI / automation

View on GitHub →
name: Deploy docs

on:
  push:
    branches:
      - main
    paths:
      - "docs/**"
      - "mkdocs.yml"

permissions:
  contents: write # This allows pushing to gh-pages

jobs:
  deploy_docs:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
      - name: Determine docs-only push
        id: docs-only
        run: |
          if [ "${{ github.event_name }}" != "push" ]; then
            echo "skip=false" >> "$GITHUB_OUTPUT"
            exit 0
          fi
          set -euo pipefail
          before="${{ github.event.before }}"
          sha="${{ github.sha }}"
          changed_files=$(git diff --name-only "$before" "$sha" || true)
          non_docs=$(echo "$changed_files" | grep -vE '^(docs/|mkdocs.yml$)' || true)
          if [ -n "$non_docs" ]; then
            echo "skip=true" >> "$GITHUB_OUTPUT"
          else
            echo "skip=false" >> "$GITHUB_OUTPUT"
          fi
      - name: Setup uv
        if: steps.docs-only.outputs.skip != 'true'
        uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098
        with:
          enable-cache: true
      - name: Install dependencies
        if: steps.docs-only.outputs.skip != 'true'
        run: make sync
      - name: Deploy docs
        if: steps.docs-only.outputs.skip != 'true'
        run: make deploy-docs

docs.yml — Evokore Workflows