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

on:
  release:
    types: [ released ]
  pull_request:
    branches: [ main ]
  workflow_dispatch:


jobs:
  build-docs:
    permissions:
      contents: read
      id-token: write
    name: Build Docs
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
        - "3.11"
    steps:
    - uses: actions/checkout@v4
    - name: Install uv
      uses: astral-sh/setup-uv@v5
      with:
        enable-cache: true
        cache-dependency-glob: "uv.lock"
        python-version: ${{ matrix.python-version }}
    - name: Sync uv for docs
      run: uv sync --extra docs
    - name: Build docs
      run: |
        mkdir -p docs/build
        uv run pydoc-markdown .pydoc-markdown.yml

    - name: Checkout docs repo
      uses: actions/checkout@v4
      with:
        repository: aurelio-labs/docs
        path: temp-docs
        ref: main
        token: ${{ secrets.PAT }}

    - name: Copy and rename docs
      run: |
        ROOT_DIR=$(pwd)
        rm -rf temp-docs/semantic-router/client-reference
        mkdir -p temp-docs/semantic-router/client-reference/

        # Find and copy all md files
        cd docs/build/semantic_router
        find . -type f -name "*.md" | while read file; do
          dir=$(dirname "$file")
          echo "Processing file: $file in directory: $dir"
          mkdir -p "$ROOT_DIR/temp-docs/semantic-router/client-reference/$dir"
          cp "$file" "$ROOT_DIR/temp-docs/semantic-router/client-reference/${file%.md}.mdx"
        done

    - name: Update frontmatter keys
      run: |
        find temp-docs/semantic-router/client-reference -type f -name "*.mdx" -exec sed -i 's/sidebar_label:/sidebarTitle:/g' {} +

    - name: Install jq
      run: sudo apt-get install -y jq

    - name: Update mintlify docs.json navigation
      run: |
        # Get files and create grouped structure using jq
        files=$(cd temp-docs/semantic-router/client-reference && find . -type f -name "*.mdx" | sed 's|^./||' | sed 's|.mdx$||' | sort | jq -R -s '