Read the Docs build information Build id: 4331690 Project: anyscale-ray Version: 65398 Commit: 50ee5c72de9b8afbcb71d2c48c49c3a79dae05c3 Date: 2026-08-18T18:19:01.958469Z State: cancelled Success: False [rtd-command-info] start-time: 2026-08-18T18:19:02.681356Z, end-time: 2026-08-18T18:19:22.738491Z, duration: 20, exit-code: 0 git clone --depth 1 https://github.com/ray-project/ray.git . Cloning into '.'... Updating files: 21% (2212/10349) Updating files: 22% (2277/10349) Updating files: 23% (2381/10349) Updating files: 24% (2484/10349) Updating files: 25% (2588/10349) Updating files: 26% (2691/10349) Updating files: 27% (2795/10349) Updating files: 28% (2898/10349) Updating files: 29% (3002/10349) Updating files: 30% (3105/10349) Updating files: 31% (3209/10349) Updating files: 32% (3312/10349) Updating files: 33% (3416/10349) Updating files: 34% (3519/10349) Updating files: 35% (3623/10349) Updating files: 36% (3726/10349) Updating files: 37% (3830/10349) Updating files: 38% (3933/10349) Updating files: 39% (4037/10349) Updating files: 40% (4140/10349) Updating files: 41% (4244/10349) Updating files: 42% (4347/10349) Updating files: 43% (4451/10349) Updating files: 44% (4554/10349) Updating files: 45% (4658/10349) Updating files: 46% (4761/10349) Updating files: 47% (4865/10349) Updating files: 48% (4968/10349) Updating files: 49% (5072/10349) Updating files: 50% (5175/10349) Updating files: 51% (5278/10349) Updating files: 52% (5382/10349) Updating files: 53% (5485/10349) Updating files: 54% (5589/10349) Updating files: 55% (5692/10349) Updating files: 56% (5796/10349) Updating files: 57% (5899/10349) Updating files: 58% (6003/10349) Updating files: 59% (6106/10349) Updating files: 60% (6210/10349) Updating files: 61% (6313/10349) Updating files: 62% (6417/10349) Updating files: 63% (6520/10349) Updating files: 64% (6624/10349) Updating files: 65% (6727/10349) Updating files: 66% (6831/10349) Updating files: 67% (6934/10349) Updating files: 68% (7038/10349) Updating files: 69% (7141/10349) Updating files: 70% (7245/10349) Updating files: 71% (7348/10349) Updating files: 72% (7452/10349) Updating files: 73% (7555/10349) Updating files: 74% (7659/10349) Updating files: 75% (7762/10349) Updating files: 76% (7866/10349) Updating files: 77% (7969/10349) Updating files: 78% (8073/10349) Updating files: 79% (8176/10349) Updating files: 80% (8280/10349) Updating files: 81% (8383/10349) Updating files: 82% (8487/10349) Updating files: 83% (8590/10349) Updating files: 84% (8694/10349) Updating files: 85% (8797/10349) Updating files: 86% (8901/10349) Updating files: 87% (9004/10349) Updating files: 88% (9108/10349) Updating files: 89% (9211/10349) Updating files: 90% (9315/10349) Updating files: 91% (9418/10349) Updating files: 92% (9522/10349) Updating files: 93% (9625/10349) Updating files: 94% (9729/10349) Updating files: 95% (9832/10349) Updating files: 96% (9936/10349) Updating files: 97% (10039/10349) Updating files: 98% (10143/10349) Updating files: 99% (10246/10349) Updating files: 100% (10349/10349) Updating files: 100% (10349/10349), done. [rtd-command-info] start-time: 2026-08-18T18:19:22.820297Z, end-time: 2026-08-18T18:19:24.524586Z, duration: 1, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/65398/head:external-65398 From https://github.com/ray-project/ray * [new ref] refs/pull/65398/head -> external-65398 [rtd-command-info] start-time: 2026-08-18T18:19:25.230424Z, end-time: 2026-08-18T18:19:26.156705Z, duration: 0, exit-code: 0 git checkout --force 50ee5c72de9b8afbcb71d2c48c49c3a79dae05c3 Note: switching to '50ee5c72de9b8afbcb71d2c48c49c3a79dae05c3'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 50ee5c7 Merge branch 'master' into feat/reverse-grpc-regression [rtd-command-info] start-time: 2026-08-18T18:19:26.235893Z, end-time: 2026-08-18T18:19:26.270128Z, duration: 0, exit-code: 0 cat .readthedocs.yaml # .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Set the version of Python and other tools you might need build: os: ubuntu-24.04 tools: python: "3.11" jobs: # On PR builds, skip the Sphinx build when the PR doesn't touch any # files that affect documentation output. Reduces queue pressure on # the shared RTD build slots when several PRs are open at once. # Tag/branch builds (master, stable, etc.) always run. # The guard matches doc/ but excludes doc/.claude/ (Claude Code skills # and agent files), which never participate in the Sphinx build, so a # PR that changes only those paths skips the build instead of running one. # Code sources (python/ray/, rllib/) are intentionally not matched, so a # code-only PR skips this PR preview. The RTD PR check is not a required # merge gate, and the post-merge master build and the Buildkite doc_build # still render docstring-driven API-reference changes. This trades a # non-gating premerge preview for less pressure on the shared RTD slots. # See https://docs.readthedocs.com/platform/stable/guides/build/skip-build.html # # Some constructs are avoided deliberately because RTD's job runner # silently drops scripts that contain them: use echo (not printf # with a backslash-escape format string), avoid backslash escapes # in general, and keep shell comments out of this block so that # backticks/$() inside comments don't confuse the preprocessor. # The runner also strips the surrounding single quotes from arguments, # so use git's :! exclude shorthand rather than :(exclude): unquoted # parentheses reach /bin/sh (dash) and abort the script with a syntax error. post_checkout: - | if [ "${READTHEDOCS_VERSION_TYPE:-}" != "external" ]; then echo "Not a PR build (version type: '${READTHEDOCS_VERSION_TYPE:-unset}'); building docs." exit 0 fi git fetch --depth=500 origin master 2>/dev/null || true if ! git merge-base origin/master HEAD >/dev/null 2>&1; then echo "Could not determine merge-base with origin/master; building docs to be safe." exit 0 fi if git diff --quiet origin/master...HEAD -- doc/ ':!doc/.claude/' .readthedocs.yaml; then echo "No doc-affecting files changed in this PR; skipping Sphinx build." echo "Files changed in PR:" git diff --name-only origin/master...HEAD exit 183 fi echo "Doc-affecting files changed; building docs. Changed doc-relevant paths:" git diff --name-only origin/master...HEAD -- doc/ ':!doc/.claude/' .readthedocs.yaml # Override the html build step so every build runs a full clean Sphinx # build via the doc/Makefile html target, for PR (external) previews and # branch/tag builds alike. # # The incremental-from-master-cache path added in #64277 is disabled for # now. On every PR preview Sphinx discards the restored cache because a # config value differs between the environment that produced the cache and # the RTD build environment, so it rebuilds all documents anyway while # still paying the cache download and extract cost, and it risks a second # clean rebuild when the incremental leg trips a warning. A clean build is # faster and lower-variance in practice today. Re-enable the incremental # path only once cache reuse is confirmed (Sphinx logs "N changed" rather # than "NNNN added") and stale-artifact pruning lands for PRs that rename # or delete sources. The rtd and rtd-fallback Makefile targets and # doc/load_doc_cache.py stay in the tree for that re-enable. build: html: - | make -C doc html HTMLDIR="$READTHEDOCS_OUTPUT/html" # Build documentation in the docs/ directory with Sphinx sphinx: configuration: doc/source/conf.py fail_on_warning: true # We recommend specifying your dependencies to enable reproducible builds: # https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html python: install: - requirements: doc/requirements-doc.lock.txt [rtd-command-info] start-time: 2026-08-18T18:19:26.342059Z, end-time: 2026-08-18T18:19:29.756668Z, duration: 3, exit-code: 183 if [ "${READTHEDOCS_VERSION_TYPE:-}" != "external" ]; then echo "Not a PR build (version type: '${READTHEDOCS_VERSION_TYPE:-unset}'); building docs." exit 0 fi git fetch --depth=500 origin master 2>/dev/null || true if ! git merge-base origin/master HEAD >/dev/null 2>&1; then echo "Could not determine merge-base with origin/master; building docs to be safe." exit 0 fi if git diff --quiet origin/master...HEAD -- doc/ ':!doc/.claude/' .readthedocs.yaml; then echo "No doc-affecting files changed in this PR; skipping Sphinx build." echo "Files changed in PR:" git diff --name-only origin/master...HEAD exit 183 fi echo "Doc-affecting files changed; building docs. Changed doc-relevant paths:" git diff --name-only origin/master...HEAD -- doc/ ':!doc/.claude/' .readthedocs.yaml No doc-affecting files changed in this PR; skipping Sphinx build. Files changed in PR: python/ray/serve/_private/replica.py