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' tags: - '*' 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: Install dependencies uses: ./.github/actions/setup-runner - 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\", \"version\": \"$GITHUB_REF_NAME\" }" \ 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