Read the Docs build information Build id: 4171191 Project: anyscale-ray Version: 56851 Commit: d7c2dc502f17c887d4af6a33c752cdb082394495 Date: 2026-07-03T01:10:14.849226Z State: cancelled Success: False [rtd-command-info] start-time: 2026-07-03T01:10:15.575474Z, end-time: 2026-07-03T01:10:27.427798Z, duration: 11, exit-code: 0 git clone --depth 1 https://github.com/ray-project/ray.git . Cloning into '.'... Updating files: 26% (2655/10078) Updating files: 27% (2722/10078) Updating files: 28% (2822/10078) Updating files: 29% (2923/10078) Updating files: 30% (3024/10078) Updating files: 31% (3125/10078) Updating files: 32% (3225/10078) Updating files: 33% (3326/10078) Updating files: 34% (3427/10078) Updating files: 35% (3528/10078) Updating files: 36% (3629/10078) Updating files: 37% (3729/10078) Updating files: 38% (3830/10078) Updating files: 39% (3931/10078) Updating files: 40% (4032/10078) Updating files: 41% (4132/10078) Updating files: 42% (4233/10078) Updating files: 43% (4334/10078) Updating files: 44% (4435/10078) Updating files: 45% (4536/10078) Updating files: 46% (4636/10078) Updating files: 47% (4737/10078) Updating files: 48% (4838/10078) Updating files: 49% (4939/10078) Updating files: 50% (5039/10078) Updating files: 51% (5140/10078) Updating files: 52% (5241/10078) Updating files: 53% (5342/10078) Updating files: 54% (5443/10078) Updating files: 55% (5543/10078) Updating files: 56% (5644/10078) Updating files: 57% (5745/10078) Updating files: 58% (5846/10078) Updating files: 59% (5947/10078) Updating files: 60% (6047/10078) Updating files: 61% (6148/10078) Updating files: 62% (6249/10078) Updating files: 63% (6350/10078) Updating files: 64% (6450/10078) Updating files: 65% (6551/10078) Updating files: 66% (6652/10078) Updating files: 67% (6753/10078) Updating files: 68% (6854/10078) Updating files: 69% (6954/10078) Updating files: 70% (7055/10078) Updating files: 71% (7156/10078) Updating files: 72% (7257/10078) Updating files: 73% (7357/10078) Updating files: 74% (7458/10078) Updating files: 75% (7559/10078) Updating files: 76% (7660/10078) Updating files: 77% (7761/10078) Updating files: 78% (7861/10078) Updating files: 79% (7962/10078) Updating files: 80% (8063/10078) Updating files: 81% (8164/10078) Updating files: 82% (8264/10078) Updating files: 83% (8365/10078) Updating files: 84% (8466/10078) Updating files: 85% (8567/10078) Updating files: 86% (8668/10078) Updating files: 87% (8768/10078) Updating files: 88% (8869/10078) Updating files: 89% (8970/10078) Updating files: 90% (9071/10078) Updating files: 91% (9171/10078) Updating files: 92% (9272/10078) Updating files: 93% (9373/10078) Updating files: 94% (9474/10078) Updating files: 95% (9575/10078) Updating files: 96% (9675/10078) Updating files: 97% (9776/10078) Updating files: 98% (9877/10078) Updating files: 99% (9978/10078) Updating files: 100% (10078/10078) Updating files: 100% (10078/10078), done. [rtd-command-info] start-time: 2026-07-03T01:10:27.502973Z, end-time: 2026-07-03T01:10:28.340784Z, duration: 0, exit-code: 0 git fetch origin --force --prune --prune-tags --depth 50 pull/56851/head:external-56851 From https://github.com/ray-project/ray * [new ref] refs/pull/56851/head -> external-56851 [rtd-command-info] start-time: 2026-07-03T01:10:29.092305Z, end-time: 2026-07-03T01:10:29.680775Z, duration: 0, exit-code: 0 git checkout --force d7c2dc502f17c887d4af6a33c752cdb082394495 Note: switching to 'd7c2dc502f17c887d4af6a33c752cdb082394495'. 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 d7c2dc5 [serve] Prometheus metrics for AutoscalingConfig with co-located query cache [rtd-command-info] start-time: 2026-07-03T01:10:29.769396Z, end-time: 2026-07-03T01:10:29.811546Z, 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. # 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/' python/ray/ rllib/ .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/' python/ray/ rllib/ .readthedocs.yaml # Override the html build step. On PR (external) builds, build incrementally # from the latest master doc cache, falling back to a clean build # (rtd-fallback) if it fails. PRs that delete or move doc sources skip the # incremental path: the restored cache can't prune the stale pages/stubs they # leave behind, and a clean rename wouldn't trip a warning to force the # fallback. The prune-on-restore fix is tracked in DOC-1314. Branch/tag builds # (master, stable, release tags) always do a full clean build so published # output is never stale. Targets live in doc/Makefile (rtd, rtd-fallback, html). build: html: - | if [ "${READTHEDOCS_VERSION_TYPE:-}" = "external" ]; then if ! git diff --quiet --no-renames --diff-filter=D origin/master...HEAD -- doc/source/ 2>/dev/null; then echo "PR deletes or moves doc sources; the incremental cache cannot prune their stale pages, so building clean (DOC-1314)." make -C doc rtd-fallback HTMLDIR="$READTHEDOCS_OUTPUT/html" else echo "PR build; attempting incremental build from the master doc cache." make -C doc rtd HTMLDIR="$READTHEDOCS_OUTPUT/html" || make -C doc rtd-fallback HTMLDIR="$READTHEDOCS_OUTPUT/html" fi else echo "Branch/tag build; running a full clean build." make -C doc html HTMLDIR="$READTHEDOCS_OUTPUT/html" fi # 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-07-03T01:10:29.889518Z, end-time: 2026-07-03T01:10:34.122888Z, duration: 4, exit-code: 0 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/' python/ray/ rllib/ .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/' python/ray/ rllib/ .readthedocs.yaml Doc-affecting files changed; building docs. Changed doc-relevant paths: python/ray/_common/prometheus_utils.py python/ray/serve/_private/autoscaling_state.py python/ray/serve/_private/config.py python/ray/serve/_private/constants.py python/ray/serve/_private/controller.py python/ray/serve/_private/deployment_state.py python/ray/serve/_private/replica.py python/ray/serve/config.py python/ray/serve/tests/BUILD.bazel python/ray/serve/tests/multi_node_prometheus/README.md python/ray/serve/tests/multi_node_prometheus/check_metrics.py python/ray/serve/tests/multi_node_prometheus/docker-compose.yml python/ray/serve/tests/multi_node_prometheus/e2e_colocated_check.py python/ray/serve/tests/multi_node_prometheus/e2e_orchestrator.py python/ray/serve/tests/multi_node_prometheus/feature/ray/__init__.py python/ray/serve/tests/multi_node_prometheus/feature/ray/_common/__init__.py python/ray/serve/tests/multi_node_prometheus/feature/ray/_common/prometheus_utils.py python/ray/serve/tests/multi_node_prometheus/feature/shipped_replica.py python/ray/serve/tests/multi_node_prometheus/prometheus.yml python/ray/serve/tests/test_controller.py python/ray/serve/tests/test_deploy_2.py python/ray/serve/tests/test_deploy_app_2.py python/ray/serve/tests/test_prometheus_autoscaling_metrics.py python/ray/serve/tests/test_prometheus_autoscaling_metrics_unit.py python/ray/serve/tests/test_prometheus_query_cache.py [rtd-command-info] start-time: 2026-07-03T01:10:39.214295Z, end-time: 2026-07-03T01:10:39.279036Z, duration: 0, exit-code: 0 asdf global python 3.11.15 [rtd-command-info] start-time: 2026-07-03T01:10:39.665566Z, end-time: 2026-07-03T01:10:40.321628Z, duration: 0, exit-code: 0 python -mvirtualenv $READTHEDOCS_VIRTUALENV_PATH created virtual environment CPython3.11.15.final.0-64 in 372ms creator CPython3Posix(dest=/home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/56851, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/docs/.local/share/virtualenv) added seed packages: pip==23.1, setuptools==67.6.1, wheel==0.40.0 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator [rtd-command-info] start-time: 2026-07-03T01:10:40.398191Z, end-time: 2026-07-03T01:10:45.153211Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir pip setuptools Requirement already satisfied: pip in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/56851/lib/python3.11/site-packages (23.1) Collecting pip Downloading pip-26.1.2-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 20.4 MB/s eta 0:00:00 Requirement already satisfied: setuptools in /home/docs/checkouts/readthedocs.org/user_builds/anyscale-ray/envs/56851/lib/python3.11/site-packages (67.6.1) Collecting setuptools Downloading setuptools-82.0.1-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 35.4 MB/s eta 0:00:00 Installing collected packages: setuptools, pip Attempting uninstall: setuptools Found existing installation: setuptools 67.6.1 Uninstalling setuptools-67.6.1: Successfully uninstalled setuptools-67.6.1 Attempting uninstall: pip Found existing installation: pip 23.1 Uninstalling pip-23.1: Successfully uninstalled pip-23.1 Successfully installed pip-26.1.2 setuptools-82.0.1 [rtd-command-info] start-time: 2026-07-03T01:10:45.229451Z, end-time: 2026-07-03T01:10:49.848511Z, duration: 4, exit-code: 0 python -m pip install --upgrade --no-cache-dir sphinx Collecting sphinx Downloading sphinx-9.0.4-py3-none-any.whl.metadata (5.8 kB) Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB) Collecting Jinja2>=3.1 (from sphinx) Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) Collecting Pygments>=2.17 (from sphinx) Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) Collecting docutils<0.23,>=0.20 (from sphinx) Downloading docutils-0.22.4-py3-none-any.whl.metadata (15 kB) Collecting snowballstemmer>=2.2 (from sphinx) Downloading snowballstemmer-3.1.1-py3-none-any.whl.metadata (7.9 kB) Collecting babel>=2.13 (from sphinx) Downloading babel-2.18.0-py3-none-any.whl.metadata (2.2 kB) Collecting alabaster>=0.7.14 (from sphinx) Downloading alabaster-1.0.0-py3-none-any.whl.metadata (2.8 kB) Collecting imagesize>=1.3 (from sphinx) Downloading imagesize-2.0.0-py2.py3-none-any.whl.metadata (1.5 kB) Collecting requests>=2.30.0 (from sphinx) Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB) Collecting roman-numerals>=1.0.0 (from sphinx) Downloading roman_numerals-4.1.0-py3-none-any.whl.metadata (3.3 kB) Collecting packaging>=23.0 (from sphinx) Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->sphinx) Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.30.0->sphinx) Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB) Collecting idna<4,>=2.5 (from requests>=2.30.0->sphinx) Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB) Collecting urllib3<3,>=1.26 (from requests>=2.30.0->sphinx) Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2023.5.7 (from requests>=2.30.0->sphinx) Downloading certifi-2026.6.17-py3-none-any.whl.metadata (2.5 kB) Downloading sphinx-9.0.4-py3-none-any.whl (3.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 133.0 MB/s 0:00:00 Downloading docutils-0.22.4-py3-none-any.whl (633 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 633.2/633.2 kB 776.1 MB/s 0:00:00 Downloading alabaster-1.0.0-py3-none-any.whl (13 kB) Downloading babel-2.18.0-py3-none-any.whl (10.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 391.7 MB/s 0:00:00 Downloading imagesize-2.0.0-py2.py3-none-any.whl (9.4 kB) Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) Downloading packaging-26.2-py3-none-any.whl (100 kB) Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 201.4 MB/s 0:00:00 Downloading requests-2.34.2-py3-none-any.whl (73 kB) Downloading charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (214 kB) Downloading idna-3.18-py3-none-any.whl (65 kB) Downloading urllib3-2.7.0-py3-none-any.whl (131 kB) Downloading certifi-2026.6.17-py3-none-any.whl (133 kB) Downloading roman_numerals-4.1.0-py3-none-any.whl (7.7 kB) Downloading snowballstemmer-3.1.1-py3-none-any.whl (104 kB) Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Installing collected packages: urllib3, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, roman-numerals, Pygments, packaging, MarkupSafe, imagesize, idna, docutils, charset_normalizer, certifi, babel, alabaster, requests, Jinja2, sphinx Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 Pygments-2.20.0 alabaster-1.0.0 babel-2.18.0 certifi-2026.6.17 charset_normalizer-3.4.7 docutils-0.22.4 idna-3.18 imagesize-2.0.0 packaging-26.2 requests-2.34.2 roman-numerals-4.1.0 snowballstemmer-3.1.1 sphinx-9.0.4 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 urllib3-2.7.0 [rtd-command-info] start-time: None, end-time: None, duration: None, exit-code: None python -m pip install --exists-action=w --no-cache-dir -r doc/requirements-doc.lock.txt