123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- - label: ":ferris_wheel: Wheels and Jars"
- conditions:
- [
- "RAY_CI_LINUX_WHEELS_AFFECTED",
- "RAY_CI_JAVA_AFFECTED",
- ]
- commands:
- # Build the wheels and jars
- - LINUX_WHEELS=1 LINUX_JARS=1 ./ci/travis/ci.sh build
- - bash ./java/build-jar-multiplatform.sh linux
- # Upload the wheels and jars
- # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
- - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
- - pip install -q docker aws_requests_auth boto3
- # Upload to branch directory.
- - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
- - python .buildkite/copy_files.py --destination branch_jars --path ./.jar/linux
- # Upload to latest directory.
- - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
- - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination jars --path ./.jar/linux; fi
- - label: ":ferris_wheel: Post-wheel tests"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=post_wheel_build
- --test_env=CONDA_EXE
- --test_env=CONDA_PYTHON_EXE
- --test_env=CONDA_SHLVL
- --test_env=CONDA_PREFIX
- --test_env=CONDA_DEFAULT_ENV
- --test_env=CI
- --test_env=RAY_CI_POST_WHEEL_TESTS=True
- python/ray/tests/... python/ray/serve/... python/ray/tune/... rllib/... doc/...
- - label: ":ferris_wheel: Debug Wheels"
- conditions:
- [
- "RAY_CI_LINUX_WHEELS_AFFECTED",
- "RAY_CI_JAVA_AFFECTED",
- ]
- commands:
- # Build the debug wheels
- - RAY_DEBUG_BUILD=debug LINUX_WHEELS=1 ./ci/travis/ci.sh build
- # Upload the wheels.
- # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
- - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
- - pip install -q docker aws_requests_auth boto3
- # Upload to branch directory.
- - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
- # Upload to latest directory.
- - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
- # Not working now.
- # - label: ":ferris_wheel: ASAN Wheels"
- # conditions:
- # [
- # "RAY_CI_LINUX_WHEELS_AFFECTED",
- # "RAY_CI_JAVA_AFFECTED",
- # ]
- # commands:
- # # Build the asan wheels
- # - RAY_DEBUG_BUILD=asan LINUX_WHEELS=1 ./ci/travis/ci.sh build
- # # Upload the wheels.
- # # We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
- # - if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
- # - pip install -q docker aws_requests_auth boto3
- # # Upload to branch directory.
- # - python .buildkite/copy_files.py --destination branch_wheels --path ./.whl
- # # Upload to latest directory.
- # - if [ "$BUILDKITE_BRANCH" == "master" ]; then python .buildkite/copy_files.py --destination wheels --path ./.whl; fi
- - label: ":docker: Build Images: py36 (1/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py36 (2/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py37 (1/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py37 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py37 (2/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py37 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py38 (1/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py38 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py38 (2/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py38 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py39 (1/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py39 --device-types cpu cu101 cu102 --build-type BUILDKITE --build-base
- - label: ":docker: Build Images: py39 (2/2)"
- conditions: ["RAY_CI_LINUX_WHEELS_AFFECTED"]
- commands:
- - LINUX_WHEELS=1 ./ci/travis/ci.sh build
- - pip install -q docker aws_requests_auth boto3
- - if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then python .buildkite/copy_files.py --destination docker_login; fi
- - python ./ci/travis/build-docker-images.py --py-versions py39 --device-types cu110 cu111 cu112 --build-type BUILDKITE --build-base
- - label: ":book: Lint"
- commands:
- - export LINT=1
- - ./ci/travis/install-dependencies.sh
- - ./ci/travis/ci.sh lint
- - ./ci/travis/ci.sh build
- - label: ":java: Java"
- conditions: ["RAY_CI_JAVA_AFFECTED"]
- commands:
- - ./java/test.sh
- - label: ":cpp: Ray CPP Worker"
- conditions: [ "RAY_CI_CPP_AFFECTED" ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./ci/travis/ci.sh test_cpp
- - label: ":cpp: Tests"
- conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci --config=llvm $(./scripts/bazel_export_options)
- --build_tests_only
- -- //:all -rllib/... -core_worker_test
- - label: ":cpp: Tests (ASAN)"
- conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci --config=asan-clang $(./scripts/bazel_export_options)
- --build_tests_only
- --jobs=2
- -- //:all -//:core_worker_test
- - label: ":cpp: Tests (UBSAN)"
- conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci --config=ubsan $(./scripts/bazel_export_options)
- --build_tests_only
- --jobs=2
- -- //:all -//:core_worker_test -//:logging_test
- - label: ":cpp: Tests (TSAN)"
- conditions: [ "RAY_CI_CORE_CPP_AFFECTED" ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci --config=tsan-clang $(./scripts/bazel_export_options)
- --build_tests_only
- --jobs=2
- -- //:all -//:core_worker_test -//:event_test -//:gcs_actor_manager_test
- -//:gcs_placement_group_manager_test -//:gcs_placement_group_scheduler_test
- -//:gcs_server_rpc_test -//:gcs_server_test
- -//:metric_exporter_client_test -//:stats_test -//:worker_pool_test
- - label: ":serverless: Dashboard Tests"
- conditions:
- [
- "RAY_CI_DASHBOARD_AFFECTED",
- "RAY_CI_PYTHON_AFFECTED",
- ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./dashboard/tests/run_ui_tests.sh
- - bazel test --config=ci $(./scripts/bazel_export_options) python/ray/dashboard/...
- - label: ":serverless: Serve Release Tests"
- conditions:
- [
- "RAY_CI_SERVE_AFFECTED",
- "RAY_CI_PYTHON_AFFECTED",
- ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - TORCH_VERSION=1.6 ./ci/travis/install-dependencies.sh
- - 'git clone https://github.com/wg/wrk.git /tmp/wrk && pushd /tmp/wrk && make -j && sudo cp wrk /usr/local/bin && popd'
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=team:serve
- release/...
- - label: ":serverless: Serve Tests"
- parallelism: 3
- conditions:
- [
- "RAY_CI_SERVE_AFFECTED",
- "RAY_CI_PYTHON_AFFECTED",
- ]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - TORCH_VERSION=1.6 ./ci/travis/install-dependencies.sh
- - 'git clone https://github.com/wg/wrk.git /tmp/wrk && pushd /tmp/wrk && make -j && sudo cp wrk /usr/local/bin && popd'
- - >-
- set -x;
- python ./scripts/bazel-sharding.py
- --exclude_manual
- --index "\${BUILDKITE_PARALLEL_JOB}" --count "\${BUILDKITE_PARALLEL_JOB_COUNT}"
- python/ray/serve/...
- > test_shard.txt
- - cat test_shard.txt
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=-post_wheel_build
- $(cat test_shard.txt)
- - label: ":python: Minimal install"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./ci/travis/install-minimal.sh
- - ./ci/travis/env_info.sh
- - python ./ci/travis/check_minimal_install.py
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_basic
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_basic_2
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_basic_3
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_basic_4
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_basic_5
- - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
- python/ray/tests/test_output
- - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
- python/ray/tests/test_runtime_env_ray_minimal
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_runtime_env
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_runtime_env_2
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_runtime_env_complicated
- - bazel test --test_output=streamed --config=ci $(./scripts/bazel_export_options)
- python/ray/tests/test_runtime_env_validation
- - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
- python/ray/tests/test_serve_ray_minimal
- - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
- python/ray/dashboard/test_dashboard
- - bazel test --test_output=streamed --config=ci --test_env=RAY_MINIMAL=1 $(./scripts/bazel_export_options)
- python/ray/tests/test_usage_stats
- - label: ":python: Default install"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./ci/travis/install-default.sh
- - ./ci/travis/env_info.sh
- - bazel test --test_output=streamed --config=ci --test_env=RAY_DEFAULT=1 $(./scripts/bazel_export_options)
- python/ray/dashboard/test_dashboard
- - label: ":python: Release test package unit tests"
- conditions: ["ALWAYS"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - pip install -e release/
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --build_tests_only
- --test_tag_filters=release_unit
- release/...
- - label: ":python: (Small & Client)"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=client_tests,small_size_python_tests
- -- python/ray/tests/...
- - label: ":python: (Large)"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- parallelism: 3
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - . ./ci/travis/ci.sh test_large
- - label: ":python: (Medium A-J)"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=-kubernetes,medium_size_python_tests_a_to_j
- python/ray/tests/...
- - label: ":python: (Medium K-Z)"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - bazel test --config=ci $(./scripts/bazel_export_options)
- --test_tag_filters=-kubernetes,medium_size_python_tests_k_to_z
- python/ray/tests/...
- - label: ":python: Debug Test"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - pip uninstall -y ray
- - RAY_DEBUG_BUILD=debug ./ci/travis/ci.sh build
- - bazel test --config=ci-debug $(./scripts/bazel_export_options)
- --test_tag_filters=-kubernetes,debug_tests
- python/ray/tests/...
- - label: ":python: (ASAN tests)"
- conditions: ["RAY_CI_PYTHON_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - RLLIB_TESTING=1 ./ci/travis/install-dependencies.sh
- - pip install "grpcio >= 1.28.1, <= 1.43.0"
- - bazel test --config=ci --config=asan $(./scripts/bazel_export_options)
- --config=asan-buildkite
- --test_tag_filters=-kubernetes,asan_tests
- --test_env=CONDA_EXE
- --test_env=CONDA_PYTHON_EXE
- --test_env=CONDA_SHLVL
- --test_env=CONDA_PREFIX
- --test_env=CONDA_DEFAULT_ENV
- python/ray/tests/...
- # https://github.com/ray-project/ray/issues/22460
- #- label: ":python: (Privileged test)"
- #conditions: ["RAY_CI_PYTHON_AFFECTED"]
- #commands:
- #- LINUX_WHEELS=1 ./ci/travis/ci.sh build
- #- pip install docker
- #We build image ray-worker-container:nightly-py36-cpu which have installed podman,but not push it.
- #And we save this image to a tarball, so that we can load it to podman image storage in the
- #nested-container which run tests. And in this nested-container, Raylet will start ray worker
- #process in double-nested-container.
- #- python ./ci/travis/build-docker-images.py --py-versions py36 --device-types cpu --build-type BUILDKITE --only-build-worker-container
- #- mkdir /ray-mount/containers
- #- docker save -o /ray-mount/containers/images.tar rayproject/ray-worker-container:nightly-py36-cpu
- #- docker run --rm --privileged -v /ray/containers:/var/lib/containers -v /ray:/ray --entrypoint /bin/bash
- #rayproject/ray-worker-container:nightly-py36-cpu /ray/ci/travis/test-worker-in-container.sh
- - label: ":octopus: Tune soft imports test"
- conditions: ["RAY_CI_TUNE_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- # no TUNE_TESTING=1 on purpose
- - ./ci/travis/install-dependencies.sh
- - bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=soft_imports python/ray/tune/...
- - label: ":steam_locomotive: Train minimal install"
- conditions: ["RAY_CI_TRAIN_AFFECTED"]
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./ci/travis/install-minimal.sh
- - ./ci/travis/env_info.sh
- - python ./ci/travis/check_minimal_install.py
- - bazel test --config=ci $(./scripts/bazel_export_options) --build_tests_only --test_tag_filters=minimal python/ray/train/...
- - label: ":kubernetes: operator"
- commands:
- - cleanup() { if [ "${BUILDKITE_PULL_REQUEST}" = "false" ]; then ./ci/travis/upload_build_info.sh; fi }; trap cleanup EXIT
- - ./ci/travis/prep-k8s-environment.sh
|