Skip to content

Commit 014a067

Browse files
Merge branch 'master' of https://github.com/ray-project/ray
2 parents 40475d8 + 6f49faa commit 014a067

File tree

918 files changed

+7264
-4615
lines changed

Some content is hidden

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

918 files changed

+7264
-4615
lines changed

.pre-commit-config.yaml

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ exclude: |
88
python/ray/_private/runtime_env/_clonevirtualenv.py|
99
python/ray/data/examples/data/|
1010
release/release_logs/|
11-
rllib/tests/data|
11+
rllib/offline/tests/data|
1212
thirdparty/patches/|
1313
src/ray/thirdparty/|
1414
doc/external/|
@@ -30,10 +30,7 @@ repos:
3030
exclude: |
3131
(?x)^(
3232
# Intentionally bad json schema
33-
python/ray/tests/unit/test_runtime_env_validation_bad_schema.json|
34-
# json5 comments prevent parsing
35-
python/asv.conf.json|
36-
rllib/asv.conf.json
33+
python/ray/tests/unit/test_runtime_env_validation_bad_schema.json
3734
)
3835
- id: check-toml
3936

@@ -45,38 +42,10 @@ repos:
4542
- id: ruff
4643
args: [ --select, "I", --fix, --exit-non-zero-on-fix ]
4744

48-
# pydoclint-local is for local commits only due to pre-commit-hook only passing
49-
# updated files to the hook and overwriting the baseline text file
5045
- repo: https://github.com/jsh9/pydoclint
51-
rev: "0.8.1"
46+
rev: "0.8.3"
5247
hooks:
5348
- id: pydoclint
54-
name: pydoclint-local
55-
stages: [pre-commit, pre-push]
56-
args: [
57-
--style=google,
58-
--baseline=ci/lint/pydoclint-baseline.txt,
59-
--exclude=thirdparty|^python/ray/serve/tests/test_config_files/syntax_error\.py$|^python/ray/_private/parameter\.py$,
60-
--auto-regenerate-baseline=False,
61-
# Current settings (not because we think they're right, but because we
62-
# don't want a baseline the size of the codebase)
63-
--arg-type-hints-in-docstring=False,
64-
--skip-checking-raises=True,
65-
--check-return-types=False,
66-
--allow-init-docstring=True,
67-
--check-class-attributes=False,
68-
# --check-style-mismatch=True, # Bring this back once things are a bit cleaner
69-
]
70-
types: [python]
71-
files: '^python/ray/'
72-
73-
# pydoclint-ci is for CI, overwrites the baseline text file, and is run with the manual stage flag
74-
- repo: https://github.com/jsh9/pydoclint
75-
rev: "0.8.1"
76-
hooks:
77-
- id: pydoclint
78-
name: pydoclint-ci
79-
stages: [manual]
8049
args: [
8150
--style=google,
8251
--baseline=ci/lint/pydoclint-baseline.txt,

.vale/styles/config/vocabularies/Data/accept.txt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1+
assess_quality
12
autoscaler
23
[Aa]vro
34
[Bb]ackpressure
45
Dask
56
[Dd]ata('s)?
67
[Dd]atasource(s)?
78
[Dd]iscretizer(s)?
9+
docstrings
810
dtype
911
FLAC
10-
[Gg]roupby
12+
[Gg]roup[bB]y
1113
[Hh]asher(s)?
1214
[Hh]udi
1315
[Ii]ndexable
@@ -19,14 +21,18 @@ MCAP
1921
Modin
2022
[Mm]ultiget(s)?
2123
ndarray(s)?
24+
NLP
2225
[Oo]utqueue(s)?
26+
PDFs
2327
[Pp]ipelined
2428
Predibase('s)?
2529
[Pp]refetch
2630
[Pp]refetching
2731
[Pp]reprocess
2832
[Pp]reprocessor(s)?
33+
process_file
2934
[Pp]ushdown
35+
queryable
3036
RGB
3137
runai
3238
[Ss]calers
@@ -36,5 +42,3 @@ UDF(s)?
3642
VLM(s)?
3743
XGBoost
3844
YOLO
39-
[Ss]harding
40-
[Ss]harded

ci/ci.sh

Lines changed: 5 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13,43 +13,6 @@ suppress_output() {
1313
"${WORKSPACE_DIR}"/ci/suppress_output "$@"
1414
}
1515

16-
# Calls the provided command with set -x temporarily suppressed
17-
suppress_xtrace() {
18-
{
19-
local restore_shell_state=""
20-
if [ -o xtrace ]; then set +x; restore_shell_state="set -x"; fi
21-
} 2> /dev/null
22-
local status=0
23-
"$@" || status=$?
24-
${restore_shell_state}
25-
{ return "${status}"; } 2> /dev/null
26-
}
27-
28-
# Idempotent environment loading
29-
reload_env() {
30-
# Try to only modify CI-specific environment variables here (TRAVIS_... or GITHUB_...),
31-
# e.g. for CI cross-compatibility.
32-
# Normal environment variables should be set up at software installation time, not here.
33-
34-
if [ -n "${GITHUB_PULL_REQUEST-}" ]; then
35-
case "${GITHUB_PULL_REQUEST}" in
36-
[1-9]*) TRAVIS_PULL_REQUEST="${GITHUB_PULL_REQUEST}";;
37-
*) TRAVIS_PULL_REQUEST=false;;
38-
esac
39-
export TRAVIS_PULL_REQUEST
40-
fi
41-
42-
if [ "${GITHUB_ACTIONS-}" = true ] && [ -z "${TRAVIS_BRANCH-}" ]; then
43-
# Define TRAVIS_BRANCH to make Travis scripts run on GitHub Actions.
44-
TRAVIS_BRANCH="${GITHUB_BASE_REF:-${GITHUB_REF}}" # For pull requests, the base branch name
45-
TRAVIS_BRANCH="${TRAVIS_BRANCH#refs/heads/}" # Remove refs/... prefix
46-
# TODO(mehrdadn): Make TRAVIS_BRANCH be a named ref (e.g. 'master') like it's supposed to be.
47-
# For now we use a hash because GitHub Actions doesn't clone refs the same way as Travis does.
48-
TRAVIS_BRANCH="${GITHUB_HEAD_SHA:-${TRAVIS_BRANCH}}"
49-
export TRAVIS_BRANCH
50-
fi
51-
}
52-
5316
compile_pip_dependencies() {
5417
# Compile boundaries
5518
TARGET="${1-requirements_compiled.txt}"
@@ -167,9 +130,9 @@ _install_npm_project() {
167130
}
168131

169132
build_dashboard_front_end() {
170-
if [ "${OSTYPE}" = msys ]; then
133+
if [[ "${OSTYPE}" == msys ]]; then
171134
{ echo "WARNING: Skipping dashboard due to NPM incompatibilities with Windows"; } 2> /dev/null
172-
elif [ "${NO_DASHBOARD-}" = "1" ]; then
135+
elif [[ "${NO_DASHBOARD-}" == "1" ]]; then
173136
echo "Skipping dashboard build"
174137
else
175138
(
@@ -196,7 +159,7 @@ build_sphinx_docs() {
196159

197160
(
198161
cd "${WORKSPACE_DIR}"/doc
199-
if [ "${OSTYPE}" = msys ]; then
162+
if [[ "${OSTYPE}" == msys ]]; then
200163
echo "WARNING: Documentation not built on Windows due to currently-unresolved issues"
201164
else
202165
make html
@@ -208,7 +171,7 @@ build_sphinx_docs() {
208171
check_sphinx_links() {
209172
(
210173
cd "${WORKSPACE_DIR}"/doc
211-
if [ "${OSTYPE}" = msys ]; then
174+
if [[ "${OSTYPE}" == msys ]]; then
212175
echo "WARNING: Documentation not built on Windows due to currently-unresolved issues"
213176
else
214177
make linkcheck
@@ -345,15 +308,7 @@ build() {
345308
install_ray
346309
}
347310

348-
_main() {
349-
if [ "${GITHUB_ACTIONS-}" = true ]; then
350-
exec 2>&1 # Merge stdout and stderr to prevent out-of-order buffering issues
351-
reload_env
352-
fi
353-
"$@"
354-
}
355-
356-
_main "$@"
311+
"$@"
357312

358313
# Pop caller's shell options (quietly)
359314
{ set -vx; eval "${SHELLOPTS_STACK##*|}"; SHELLOPTS_STACK="${SHELLOPTS_STACK%|*}"; } 2> /dev/null

ci/lint/lint.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,7 @@ pre_commit() {
4949
pre_commit_pydoclint() {
5050
# Run pre-commit pydoclint on all files
5151
pip install -c python/requirements_compiled.txt pre-commit clang-format
52-
pre-commit run pydoclint --hook-stage manual --all-files --show-diff-on-failure
53-
git diff --quiet -- ci/lint/pydoclint-baseline.txt || {
54-
echo "Baseline needs update. Run the CI-style hook: \"pre-commit run pydoclint --hook-stage manual --all-files --show-diff-on-failure\" locally and commit the baseline."
55-
exit 1
56-
}
52+
pre-commit run pydoclint --all-files --show-diff-on-failure
5753
}
5854

5955
code_format() {

ci/lint/pydoclint-baseline.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,6 @@ python/ray/data/read_api.py
13171317
DOC101: Function `read_bigquery`: Docstring contains fewer arguments than in function signature.
13181318
DOC103: Function `read_bigquery`: Docstring arguments are different from function arguments. (Or could be other formatting issues: https://jsh9.github.io/pydoclint/violation_codes.html#notes-on-doc103 ). Arguments in the function signature but not in the docstring: [query: Optional[str]].
13191319
DOC103: Function `read_parquet`: Docstring arguments are different from function arguments. (Or could be other formatting issues: https://jsh9.github.io/pydoclint/violation_codes.html#notes-on-doc103 ). Arguments in the function signature but not in the docstring: [**arrow_parquet_args: ]. Arguments in the docstring but not in the function signature: [arrow_parquet_args: ].
1320-
DOC103: Function `read_parquet_bulk`: Docstring arguments are different from function arguments. (Or could be other formatting issues: https://jsh9.github.io/pydoclint/violation_codes.html#notes-on-doc103 ). Arguments in the function signature but not in the docstring: [**arrow_parquet_args: ]. Arguments in the docstring but not in the function signature: [arrow_parquet_args: ].
13211320
DOC103: Function `read_json`: Docstring arguments are different from function arguments. (Or could be other formatting issues: https://jsh9.github.io/pydoclint/violation_codes.html#notes-on-doc103 ). Arguments in the function signature but not in the docstring: [**arrow_json_args: ]. Arguments in the docstring but not in the function signature: [arrow_json_args: ].
13221321
DOC103: Function `read_csv`: Docstring arguments are different from function arguments. (Or could be other formatting issues: https://jsh9.github.io/pydoclint/violation_codes.html#notes-on-doc103 ). Arguments in the function signature but not in the docstring: [**arrow_csv_args: ]. Arguments in the docstring but not in the function signature: [arrow_csv_args: ].
13231322
DOC101: Function `read_text`: Docstring contains fewer arguments than in function signature.

doc/BUILD.bazel

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -700,9 +700,15 @@ doctest(
700700
env = {"RAY_TRAIN_V2_ENABLED": "1"},
701701
)
702702

703+
# --------------------------------------------------------------------
704+
# Discover the Anyscale Jobs compute configs .yaml for release tests in CI
705+
# --------------------------------------------------------------------
706+
703707
filegroup(
704708
name = "example_configs",
705-
srcs = glob(["source/ray-overview/examples/**/*.yaml"]),
709+
srcs = glob([
710+
"source/ray-overview/examples/**/*.yaml"
711+
]),
706712
visibility = ["//release:__pkg__"],
707713
)
708714

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.5.0/ray-operator/config/samples/ray-service.mobilenet.yaml
22+
kubectl apply -f https://raw.githubusercontent.com/ray-project/kuberay/v1.5.1/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.5.0/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.1/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.5.0/ray-operator/config/samples/ray-job.batch-inference.yaml
45+
curl -LO https://raw.githubusercontent.com/ray-project/kuberay/v1.5.1/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.5.0.
21-
helm install kuberay-operator kuberay/kuberay-operator --version 1.5.0
20+
# Install both CRDs and KubeRay operator v1.5.1.
21+
helm install kuberay-operator kuberay/kuberay-operator --version 1.5.1
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.5.0"
28+
kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.5.1"
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.5.0
31+
helm install raycluster kuberay/ray-cluster --version 1.5.1
3232
```
3333

3434

0 commit comments

Comments
 (0)