name: Update ReadTheDocs on: workflow_dispatch: inputs: branch: description: 'RTD version to update' required: false default: 'latest' push: branches: - main paths: - 'docs/**' - 'pyproject.toml' - '.github/workflows/update-readthedocs.yml' pull_request: branches: - main paths: - 'docs/**' - 'pyproject.toml' - '.github/workflows/update-readthedocs.yml' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: update-readthedocs: runs-on: ubuntu-latest env: TOKEN: ${{ secrets.READTHEDOCS_TOKEN }} steps: - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Python uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: '3.11' - name: Install the latest version of uv uses: astral-sh/setup-uv@c7f87aa956e4c323abf06d5dec078e358f6b4d04 # v6.0.0 - name: Sync with uv run: uv sync --extra docs - name: Build HTML run: | cd docs uv run make html - name: Trigger ReadTheDocs build if: github.event_name != 'pull_request' run: | if [ -z "$TOKEN" ]; then echo "READTHEDOCS_TOKEN is not set" exit 1 fi response=$(curl -X POST \ -H "Content-Type: application/json" \ -d "{\"token\": \"$TOKEN\"}" \ https://readthedocs.org/api/v2/webhook/llama-stack/289768/) echo "Response: $response" if [ $(echo $response | jq -r '.build_triggered') != 'true' ]; then echo "Failed to trigger ReadTheDocs build" exit 1 fi