Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .buildkite/base.rayci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ steps:
- "3.12"
env:
PYTHON: "{{matrix}}"
REQUIREMENTS_FILE: "python/deplocks/docs/docbuild_depset_py{{matrix}}.lock"
tags: cibase

- name: docgpubuild
Expand Down
9 changes: 9 additions & 0 deletions .buildkite/dependencies.rayci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,12 @@ steps:
- bazel run //ci/raydepsets:raydepsets -- build ci/raydepsets/configs/release_multimodal_inference_benchmarks_tests.depsets.yaml --check
job_env: manylinux
depends_on: manylinux

- label: ":tapioca: build: raydepsets: compile doc dependencies"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should think about merging some of those into one single test job. those are rather fast checks, they do not justify the overhead of spinning up separate test job instances.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sounds good to me

key: raydepsets_compile_doc_dependencies
tags: always
instance_type: medium
commands:
- bazel run //ci/raydepsets:raydepsets -- build ci/raydepsets/configs/docs.depsets.yaml --check
job_env: manylinux
depends_on: manylinux
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ sphinx:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: doc/requirements-doc.txt
- requirements: python/deplocks/docs/docbuild_depset_py3.12.lock
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beautiful!

6 changes: 3 additions & 3 deletions ci/docker/doc.build.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ FROM $DOCKER_IMAGE_RAY_DASHBOARD AS ray_dashboard

FROM $DOCKER_IMAGE_BASE_BUILD

SHELL ["/bin/bash", "-ice"]

COPY . .

SHELL ["/bin/bash", "-ice"]

RUN --mount=type=bind,from=ray_core,target=/mnt/ray-core \
--mount=type=bind,from=ray_dashboard,target=/mnt/ray-dashboard \
<<EOF
Expand All @@ -24,6 +24,6 @@ cp /mnt/ray-core/ray_pkg.zip /opt/ray-build/ray_pkg.zip
cp /mnt/ray-core/ray_py_proto.zip /opt/ray-build/ray_py_proto.zip
cp /mnt/ray-dashboard/dashboard.tar.gz /opt/ray-build/dashboard.tar.gz

pip install -r doc/requirements-doc.txt
pip install -r python/deplocks/docs/docbuild_depset_py${PYTHON}.lock

EOF
2 changes: 1 addition & 1 deletion ci/docker/doc.build.wanda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ froms:
- cr.ray.io/rayproject/ray-dashboard
dockerfile: ci/docker/doc.build.Dockerfile
srcs:
- doc/requirements-doc.txt
- $REQUIREMENTS_FILE
build_args:
- DOCKER_IMAGE_BASE_BUILD=cr.ray.io/rayproject/oss-ci-base_build-py$PYTHON
- DOCKER_IMAGE_RAY_CORE=cr.ray.io/rayproject/ray-core-py$PYTHON
Expand Down
10 changes: 5 additions & 5 deletions ci/lint/lint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -104,21 +104,21 @@ test_coverage() {
python ci/pipeline/check-test-run.py
}

_install_ray() {
_install_ray_no_deps() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you changed the only two places that were using _install_ray to run _install_ray_no_deps, maybe just remove the _install_ray function?

if [[ -d /opt/ray-build ]]; then
unzip -o -q /opt/ray-build/ray_pkg.zip -d python
unzip -o -q /opt/ray-build/ray_py_proto.zip -d python
mkdir -p python/ray/dashboard/client/build
tar -xzf /opt/ray-build/dashboard.tar.gz -C python/ray/dashboard/client/build
SKIP_BAZEL_BUILD=1 pip install -e "python[all]"
SKIP_BAZEL_BUILD=1 pip install -e "python[all]" --no-deps
else
RAY_DISABLE_EXTRA_CPP=1 pip install -e "python[all]"
RAY_DISABLE_EXTRA_CPP=1 pip install -e "python[all]" --no-deps
fi
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Ray Installation Path Dependency Inconsistency

The _install_ray() function now installs Ray with --no-deps in one path but resolves dependencies in another, creating inconsistent behavior. This also makes its --no-deps path redundant with the new _install_ray_no_deps() function, which consistently installs Ray without dependencies.

Fix in Cursor Fix in Web


api_annotations() {
echo "--- Install Ray"
_install_ray
_install_ray_no_deps

echo "--- Check API annotations"
./ci/lint/check_api_annotations.py
Expand All @@ -130,7 +130,7 @@ api_policy_check() {
make -C doc/ html

echo "--- Install Ray"
_install_ray
_install_ray_no_deps

echo "--- Check API/doc consistency"
bazel run //ci/ray_ci/doc:cmd_check_api_discrepancy -- /ray "$@"
Expand Down
28 changes: 28 additions & 0 deletions ci/raydepsets/configs/docs.depsets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
build_arg_sets:
py39:
PYTHON_VERSION: "3.9"
PYTHON_SHORT: "39"
py310:
PYTHON_VERSION: "3.10"
PYTHON_SHORT: "310"
py312:
PYTHON_VERSION: "3.12"
PYTHON_SHORT: "312"


depsets:
- name: docbuild_depset_${PYTHON_SHORT}
operation: compile
depsets:
- ray_img_depset_${PYTHON_SHORT}
requirements:
- doc/requirements-doc.txt
output: python/deplocks/docs/docbuild_depset_py${PYTHON_VERSION}.lock
append_flags:
- --python-version=${PYTHON_VERSION}
- --python-platform=linux
- --unsafe-package ray
build_arg_sets:
- py39
- py310
- py312
3 changes: 1 addition & 2 deletions doc/requirements-doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,11 @@ autodoc_pydantic==2.2.0
appnope
sphinx-docsearch==0.0.7

pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,<3
pydantic==2.5.0

# MyST
myst-parser==2.0.0 # Needed to parse markdown
myst-nb==1.0.0rc0 # Most recent version of myst-nb; pin when new release is made

# Jupyter conversion
jupytext==1.15.2

Expand Down
1,530 changes: 1,530 additions & 0 deletions python/deplocks/docs/docbuild_depset_py3.10.lock

Large diffs are not rendered by default.

1,482 changes: 1,482 additions & 0 deletions python/deplocks/docs/docbuild_depset_py3.12.lock

Large diffs are not rendered by default.

1,532 changes: 1,532 additions & 0 deletions python/deplocks/docs/docbuild_depset_py3.9.lock

Large diffs are not rendered by default.