Files
2026-07-13 13:17:40 +08:00

294 lines
10 KiB
YAML

group: serve tests
depends_on:
- forge
- oss-ci-base_build-multipy(*)
- ray-core-build(*)
- ray-dashboard-build
steps:
# builds
- name: servebuild-multipy
label: "wanda: servebuild-py{{array.python}}"
wanda: ci/docker/serve.build.wanda.yaml
array:
python:
- "3.10"
- "3.12"
env:
PYTHON: "{{array.python}}"
tags: cibase
- name: servetracingbuild
wanda: ci/docker/servetracing.build.wanda.yaml
- name: minbuild-serve
label: "wanda: minbuild-{{array.extra}}-py{{array.python}}"
wanda: ci/docker/min.build.wanda.yaml
depends_on: oss-ci-base_test-multipy(python=3.10)
array:
python: ["3.10"]
extra: ["serve", "default"]
env:
PYTHON_VERSION: "{{array.python}}"
EXTRA_DEPENDENCY: "{{array.extra}}"
tags: cibase
# tests
- label: ":ray-serve: serve: tests"
parallelism: 2
tags:
- serve
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //python/ray/tests/... serve
--except-tags post_wheel_build,gpu,ha_integration,serve_tracing,direct_ingress,haproxy
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}" --parallelism-per-worker 3
--build-name servebuild-py3.10 --test-env=EXPECTED_PYTHON_VERSION=3.10 --python-version 3.10
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: gRPC tests"
parallelism: 2
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //python/ray/tests/... serve
--except-tags post_wheel_build,gpu,ha_integration,haproxy
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}" --parallelism-per-worker 3
--build-name servebuild-py3.10 --python-version 3.10
--test-env=RAY_SERVE_USE_GRPC_BY_DEFAULT=1
--test-env=RAY_SERVE_REPLICA_GRPC_MAX_MESSAGE_LENGTH=10500000
depends_on: servebuild-multipy(python=3.10)
tags:
- serve
- label: ":ray-serve: serve: same event loop tests"
parallelism: 2
tags:
- serve
- skip-on-premerge
instance_type: large
soft_fail: true
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //python/ray/tests/... serve
--except-tags post_wheel_build,gpu,ha_integration,serve_tracing,direct_ingress,haproxy
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}" --parallelism-per-worker 3
--build-name servebuild-py3.10 --test-env=EXPECTED_PYTHON_VERSION=3.10 --test-env=RAY_SERVE_RUN_USER_CODE_IN_SEPARATE_THREAD=0
--python-version 3.10
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: python {{array.python}} tests ({{array.worker_id}})"
key: serve_python_tests
if: build.pull_request.labels includes "continuous-build" || pipeline.id == "0189e759-8c96-4302-b6b5-b4274406bf89" || pipeline.id == "018f4f1e-1b73-4906-9802-92422e3badaa"
tags:
- serve
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //python/ray/tests/... serve
--except-tags post_wheel_build,gpu,ha_integration,serve_tracing,direct_ingress,haproxy
--workers 2 --worker-id {{array.worker_id}} --parallelism-per-worker 3
--python-version {{array.python}}
--test-env=EXPECTED_PYTHON_VERSION={{array.python}}
depends_on: servebuild-multipy($)
array:
python: ["3.12"]
worker_id: ["0", "1"]
- label: ":ray-serve: serve: release tests"
tags:
- serve
- release_tests
instance_type: medium
commands:
- bazel run //ci/ray_ci:test_in_docker -- //release/... serve --parallelism-per-worker 3
--build-name servebuild-py3.10
--python-version 3.10
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: wheel tests"
tags:
- serve
- linux_wheels
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //doc/... serve
--build-type wheel
--parallelism-per-worker 3
--only-tags post_wheel_build
--test-env=RAY_CI_POST_WHEEL_TESTS=True
--build-name servebuild-py3.10
--python-version 3.10
depends_on:
- manylinux-x86_64
- servebuild-multipy(python=3.10)
- forge
- ray-wheel-build(python=3.10)
- label: ":ray-serve: serve: doc tests"
if: '!(build.pull_request.labels includes "docs-go")'
tags:
- serve
- doc
instance_type: large
commands:
# doc tests
- bazel run //ci/ray_ci:test_in_docker -- python/ray/... //doc/... serve
--only-tags doctest
--parallelism-per-worker 3
--build-name servebuild-py3.10
--python-version 3.10
# doc examples
- bazel run //ci/ray_ci:test_in_docker -- //doc/... serve
--except-tags gpu,post_wheel_build,timeseries_libs,doctest
--parallelism-per-worker 3
--skip-ray-installation
--build-name servebuild-py3.10
--python-version 3.10
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: default minimal"
tags:
- serve
- min_build
instance_type: small
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/dashboard/... serve
--parallelism-per-worker 2
--build-name minbuild-default-py3.10
--python-version 3.10
--test-env=RAY_DEFAULT=1
--only-tags minimal
depends_on: minbuild-serve(python=3.10, extra=default)
- label: ":ray-serve: serve: serve minimal"
tags:
- serve
- min_build
instance_type: small
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/tests/... serve
--parallelism-per-worker 2
--build-name minbuild-serve-py3.10
--python-version 3.10
--test-env=EXPECTED_PYTHON_VERSION=3.10
--test-env=RAY_DEFAULT=1
--only-tags minimal
depends_on: minbuild-serve(python=3.10, extra=serve)
- label: ":ray-serve: serve: dashboard tests"
tags:
- serve
- dashboard
instance_type: medium
commands:
- bazel run //ci/ray_ci:test_in_docker -- python/ray/dashboard/... serve
--parallelism-per-worker 3
--build-name servebuild-py3.10
--python-version 3.10
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: HA integration tests"
tags:
- serve
instance_type: large
commands:
- bazel run //ci/ray_ci:build_in_docker -- docker --platform cpu --canonical-tag ha_integration --python-version 3.10
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/tests/... serve
--only-tags ha_integration --python-version 3.10 --build-name servebuild-py3.10
depends_on:
- manylinux-x86_64
- forge
- raycpubase(python=3.10)
- servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: tracing tests"
tags:
- serve
instance_type: medium
commands:
- bazel run //ci/ray_ci:test_in_docker -- //python/ray/serve/... //python/ray/tests/... serve
--only-tags serve_tracing --build-name servetracingbuild
--python-version 3.10
depends_on: servetracingbuild
- label: ":ray-serve: serve: HAProxy tests"
parallelism: 3
tags:
- serve
instance_type: large
commands:
# Exit 42 skips whole-step retry (per @kouroshHakha); per-test retry is enough.
- bazel run //ci/ray_ci:test_in_docker -- $(cat ci/ray_ci/serve_hap_test_names.txt) serve
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}"
--build-name servebuild-py3.10 --python-version 3.10
--test-env=RAY_SERVE_ENABLE_HA_PROXY=1
--test-env=RAY_SERVE_ENABLE_DIRECT_INGRESS=0
--test-env=RAY_SERVE_DIRECT_INGRESS_MIN_DRAINING_PERIOD_S=0.01
--test-env=SERVE_SOCKET_REUSE_PORT_ENABLED=1 || exit 42
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: direct ingress tests"
tags:
- serve
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- $(cat ci/ray_ci/serve_di_test_names.txt) serve
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}" --parallelism-per-worker 3
--build-name servebuild-py3.10 --python-version 3.10
--test-env=RAY_SERVE_ENABLE_DIRECT_INGRESS=1
--test-env=RAY_SERVE_DIRECT_INGRESS_MIN_DRAINING_PERIOD_S=0.01
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: direct ingress tests (same loop)"
tags:
- serve
instance_type: large
commands:
- bazel run //ci/ray_ci:test_in_docker -- $(cat ci/ray_ci/serve_di_test_names.txt) serve
--workers "$${BUILDKITE_PARALLEL_JOB_COUNT}" --worker-id "$${BUILDKITE_PARALLEL_JOB}" --parallelism-per-worker 3
--build-name servebuild-py3.10 --python-version 3.10
--test-env=RAY_SERVE_ENABLE_DIRECT_INGRESS=1
--test-env=RAY_SERVE_DIRECT_INGRESS_MIN_DRAINING_PERIOD_S=0.01
--test-env=RAY_SERVE_RUN_USER_CODE_IN_SEPARATE_THREAD=0
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: doc gpu tests"
if: '!(build.pull_request.labels includes "docs-go")'
tags:
- serve
- doc
- gpu
instance_type: gpu
commands:
- bazel run //ci/ray_ci:test_in_docker -- //doc/... serve
--build-name docgpubuild-py3.10
--only-tags gpu --python-version 3.10
depends_on: docgpubuild
- label: ":ray-serve: serve: flaky tests"
key: serve_flaky_tests
tags:
- serve
- flaky
- skip-on-premerge
instance_type: large
soft_fail: true
commands:
- bazel run //ci/ray_ci:test_in_docker -- //... serve --run-flaky-tests --parallelism-per-worker 3
--python-version 3.10 --build-name servebuild-py3.10
--except-tags gpu
depends_on: servebuild-multipy(python=3.10)
- label: ":ray-serve: serve: flaky gpu tests"
key: serve_flaky_gpu_tests
tags:
- serve
- gpu
- flaky
- skip-on-premerge
instance_type: gpu
soft_fail: true
commands:
- bazel run //ci/ray_ci:test_in_docker -- //... serve --run-flaky-tests
--python-version 3.10 --build-name docgpubuild-py3.10
--only-tags gpu
depends_on: docgpubuild