Skip to content

Commit d6a6229

Browse files
Merge branch 'master' into goutam/pyarrow_expr
2 parents 2a721de + 85a714c commit d6a6229

File tree

276 files changed

+2580
-1092
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

276 files changed

+2580
-1092
lines changed

.buildkite/core.rayci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,10 @@ steps:
185185
- bazel run //ci/ray_ci:test_in_docker --
186186
python/ray/tests/modin/... core
187187
--install-mask all-ray-libraries
188-
--build-name datalbuild
188+
--python-version 3.10
189+
--build-name datalbuild-py3.10
189190
depends_on:
190-
- datalbuild
191+
- datalbuild-multipy
191192
- forge
192193

193194
- label: ":ray: core: dashboard tests"

.buildkite/data.rayci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ steps:
210210
--except-tags gpu,post_wheel_build,doctest,dask
211211
--parallelism-per-worker 2
212212
--skip-ray-installation
213-
depends_on: datalbuild-multipy
213+
depends_on: databuild-multipy
214214

215215
- label: ":database: data: dask doc tests"
216216
tags:
@@ -269,7 +269,7 @@ steps:
269269
instance_type: small
270270
commands:
271271
- bazel run //ci/ray_ci:test_in_docker -- python/ray/dashboard/... data
272-
--build-name databuild-py3.10
272+
--build-name datalbuild-py3.10
273273
--python-version 3.10
274274
--parallelism-per-worker 3
275275
depends_on: datalbuild-multipy
@@ -286,7 +286,7 @@ steps:
286286
commands:
287287
- bazel run //ci/ray_ci:test_in_docker -- //... data --run-flaky-tests
288288
--parallelism-per-worker 3
289-
--build-name databuild-py3.10
289+
--build-name datalbuild-py3.10
290290
--python-version 3.10
291291
--except-tags gpu_only,gpu
292292
depends_on: datalbuild-multipy

WORKSPACE

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ python_register_toolchains(
6666
register_toolchains = False,
6767
)
6868

69+
python_register_toolchains(
70+
name = "python3_10",
71+
python_version = "3.10",
72+
register_toolchains = False,
73+
)
74+
6975
load("@python3_9//:defs.bzl", python39 = "interpreter")
7076
load("@rules_python//python/pip_install:repositories.bzl", "pip_install_dependencies")
7177

bazel/BUILD.bazel

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
load("@python3_9//:defs.bzl", python39 = "interpreter")
2+
load("@python3_10//:defs.bzl", python310 = "interpreter")
23
load("@py_deps_buildkite//:requirements.bzl", ci_require = "requirement")
34
load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_runtime", "py_runtime_pair")
45

@@ -82,3 +83,24 @@ toolchain(
8283
toolchain = ":py39_runtime_pair",
8384
toolchain_type = "@bazel_tools//tools/python:toolchain_type",
8485
)
86+
87+
py_runtime(
88+
name = "py310_runtime",
89+
interpreter = python310,
90+
python_version = "PY3",
91+
visibility = ["//visibility:private"],
92+
)
93+
94+
py_runtime_pair(
95+
name = "py310_runtime_pair",
96+
py2_runtime = None,
97+
py3_runtime = ":py310_runtime",
98+
visibility = ["//visibility:private"],
99+
)
100+
101+
toolchain(
102+
name = "py310_toolchain",
103+
exec_compatible_with = ["//:hermetic_python"],
104+
toolchain = ":py310_runtime_pair",
105+
toolchain_type = "@bazel_tools//tools/python:toolchain_type",
106+
)

ci/raydepsets/cli.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
DEFAULT_UV_FLAGS = """
1919
--generate-hashes
20-
--strip-extras
2120
--unsafe-package setuptools
2221
--index-url https://pypi.org/simple
2322
--index-strategy unsafe-best-match
@@ -318,10 +317,10 @@ def compile(
318317
if append_flags:
319318
args.extend(_flatten_flags(append_flags))
320319
if constraints:
321-
for constraint in constraints:
320+
for constraint in sorted(constraints):
322321
args.extend(["-c", constraint])
323322
if requirements:
324-
for requirement in requirements:
323+
for requirement in sorted(requirements):
325324
args.extend([requirement])
326325
if packages:
327326
# need to add a dash to process stdin

ci/raydepsets/tests/test_cli.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,66 @@ def test_compile_with_packages_and_requirements(self):
712712
output_text_valid = output_file_valid.read_text()
713713
assert output_text == output_text_valid
714714

715+
@patch("sys.stdout", new_callable=io.StringIO)
716+
def test_requirements_ordering(self, mock_stdout):
717+
with tempfile.TemporaryDirectory() as tmpdir:
718+
copy_data_to_tmpdir(tmpdir)
719+
save_packages_to_file(
720+
Path(tmpdir) / "requirements_expanded.txt",
721+
["six"],
722+
)
723+
save_packages_to_file(
724+
Path(tmpdir) / "requirements_compiled_test_expand.txt",
725+
["zipp"],
726+
)
727+
manager = _create_test_manager(tmpdir)
728+
manager.compile(
729+
constraints=["requirement_constraints_test.txt"],
730+
requirements=[
731+
"requirements_test.txt",
732+
"requirements_expanded.txt",
733+
"requirements_compiled_test_expand.txt",
734+
],
735+
append_flags=["--no-annotate", "--no-header"],
736+
name="requirements_ordering_test_depset",
737+
output="requirements_compiled_requirements_ordering.txt",
738+
)
739+
stdout = mock_stdout.getvalue()
740+
assert (
741+
"requirements_compiled_test_expand.txt requirements_expanded.txt requirements_test.txt"
742+
in stdout
743+
)
744+
745+
@patch("sys.stdout", new_callable=io.StringIO)
746+
def test_constraints_ordering(self, mock_stdout):
747+
with tempfile.TemporaryDirectory() as tmpdir:
748+
copy_data_to_tmpdir(tmpdir)
749+
save_packages_to_file(
750+
Path(tmpdir) / "requirements_expanded.txt",
751+
["six==1.17.0"],
752+
)
753+
save_packages_to_file(
754+
Path(tmpdir) / "requirements_compiled_test_expand.txt",
755+
["zipp==3.19.2"],
756+
)
757+
manager = _create_test_manager(tmpdir)
758+
manager.compile(
759+
requirements=["requirements_test.txt"],
760+
constraints=[
761+
"requirement_constraints_test.txt",
762+
"requirements_expanded.txt",
763+
"requirements_compiled_test_expand.txt",
764+
],
765+
append_flags=["--no-annotate", "--no-header"],
766+
name="constraints_ordering_test_depset",
767+
output="requirements_compiled_constraints_ordering.txt",
768+
)
769+
stdout = mock_stdout.getvalue()
770+
assert (
771+
"-c requirement_constraints_test.txt -c requirements_compiled_test_expand.txt -c requirements_expanded.txt"
772+
in stdout
773+
)
774+
715775
@patch("sys.stdout", new_callable=io.StringIO)
716776
def test_execute_pre_hook(self, mock_stdout):
717777
with tempfile.TemporaryDirectory() as tmpdir:

doc/source/cluster/kubernetes/examples/mobilenet-rayservice.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Note that the YAML file in this example uses `serveConfigV2`. You need KubeRay v
1919

2020
```sh
2121
# Create a RayService
22-
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.4.2/ray-operator/config/samples/ray-service.mobilenet.yaml
22+
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.5.0/ray-operator/config/samples/ray-service.mobilenet.yaml
2323
```
2424

2525
* The [mobilenet.py](https://github.com/ray-project/serve_config_examples/blob/master/mobilenet/mobilenet.py) file needs `tensorflow` as a dependency. Hence, the YAML file uses `rayproject/ray-ml` image instead of `rayproject/ray` image.

doc/source/cluster/kubernetes/examples/rayjob-batch-inference-example.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ The KubeRay operator Pod must be on the CPU node if you have set up the taint fo
3737

3838
## Step 2: Submit the RayJob
3939

40-
Create the RayJob custom resource with [ray-job.batch-inference.yaml](https://github.com/ray-project/kuberay/blob/v1.4.2/ray-operator/config/samples/ray-job.batch-inference.yaml).
40+
Create the RayJob custom resource with [ray-job.batch-inference.yaml](https://github.com/ray-project/kuberay/blob/v1.5.0/ray-operator/config/samples/ray-job.batch-inference.yaml).
4141

4242
Download the file with `curl`:
4343

4444
```bash
45-
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.4.2/ray-operator/config/samples/ray-job.batch-inference.yaml
45+
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.5.0/ray-operator/config/samples/ray-job.batch-inference.yaml
4646
```
4747

4848
Note that the `RayJob` spec contains a spec for the `RayCluster`. This tutorial uses a single-node cluster with 4 GPUs. For production use cases, use a multi-node cluster where the head node doesn't have GPUs, so that Ray can automatically schedule GPU workloads on worker nodes which won't interfere with critical Ray processes on the head node.

doc/source/cluster/kubernetes/getting-started/kuberay-operator-installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ kind create cluster --image=kindest/node:v1.26.0
1717
```sh
1818
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
1919
helm repo update
20-
# Install both CRDs and KubeRay operator v1.4.2.
21-
helm install kuberay-operator kuberay/kuberay-operator --version 1.4.2
20+
# Install both CRDs and KubeRay operator v1.5.0.
21+
helm install kuberay-operator kuberay/kuberay-operator --version 1.5.0
2222
```
2323

2424
### Method 2: Kustomize
2525

2626
```sh
2727
# Install CRD and KubeRay operator.
28-
kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.4.2"
28+
kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.5.0"
2929
```
3030

3131
## Step 3: Validate Installation

doc/source/cluster/kubernetes/getting-started/raycluster-quick-start.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Once the KubeRay operator is running, you're ready to deploy a RayCluster. Creat
2828

2929
```sh
3030
# Deploy a sample RayCluster CR from the KubeRay Helm chart repo:
31-
helm install raycluster kuberay/ray-cluster --version 1.4.2
31+
helm install raycluster kuberay/ray-cluster --version 1.5.0
3232
```
3333

3434

0 commit comments

Comments
 (0)