language: generic # Use Ubuntu 16.04 dist: xenial git: clone: false # Clone manually to work around Travis issues like https://github.com/travis-ci/travis-ci/issues/6337 depth: false # Shallow clones can prevent diff against base branch quiet: true before_install: - unset -f cd # Travis defines this on Mac for RVM, but it breaks the Mac build - | git clone -q -n "https://github.com/${TRAVIS_REPO_SLUG}.git" "${TRAVIS_REPO_SLUG}" cd -- "${TRAVIS_REPO_SLUG}" to_fetch=("${TRAVIS_COMMIT}") if [ false != "${TRAVIS_PULL_REQUEST-}" ]; then to_fetch+=("+refs/pull/${TRAVIS_PULL_REQUEST}/merge:"); fi git fetch -q -- origin "${to_fetch[@]}" git checkout -qf "${TRAVIS_COMMIT}" -- python -u ci/remote-watch.py --skip_repo=ray-project/ray & matrix: include: - os: linux env: - PYTHON=3.6 - PYTHONWARNINGS=ignore - RAY_DEFAULT_BUILD=1 - RAY_CYTHON_EXAMPLES=1 - RAY_USE_RANDOM_PORTS=1 install: - . ./ci/travis/ci.sh init RAY_CI_SERVE_AFFECTED,RAY_CI_TUNE_AFFECTED,RAY_CI_PYTHON_AFFECTED before_script: - . ./ci/travis/ci.sh build - os: linux env: - PYTHON=3.6 BAZEL_CONFIG="asan" - PYTHONWARNINGS=ignore - RAY_DEFAULT_BUILD=1 install: - . ./ci/travis/ci.sh init before_script: - . ./ci/travis/ci.sh build script: # Run all C++ unit tests with ASAN enabled. ASAN adds too much overhead to run Python tests. - bazel test --config=ci --build_tests_only -- //:all - os: osx osx_image: xcode7 env: - PYTHON=3.6 - PYTHONWARNINGS=ignore - RAY_DEFAULT_BUILD=1 - RAY_CYTHON_EXAMPLES=1 - RAY_USE_RANDOM_PORTS=1 install: - . ./ci/travis/ci.sh init RAY_CI_SERVE_AFFECTED,RAY_CI_TUNE_AFFECTED,RAY_CI_PYTHON_AFFECTED before_script: - . ./ci/travis/ci.sh build - os: linux env: - JDK='Oracle JDK 8' - PYTHON=3.6 PYTHONWARNINGS=ignore - RAY_INSTALL_JAVA=1 install: - . ./ci/travis/ci.sh init RAY_CI_JAVA_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./java/test.sh - os: linux env: - TESTSUITE=streaming - JDK='Oracle JDK 8' - RAY_INSTALL_JAVA=1 - PYTHON=3.6 PYTHONWARNINGS=ignore - RAY_USE_RANDOM_PORTS=1 install: - . ./ci/travis/ci.sh init RAY_CI_STREAMING_PYTHON_AFFECTED,RAY_CI_STREAMING_JAVA_AFFECTED before_script: - . ./ci/travis/ci.sh build script: # Streaming cpp test. - if [ $RAY_CI_STREAMING_CPP_AFFECTED == "1" ]; then bazel test --config=ci --test_output=all //streaming:all && bash streaming/src/test/run_streaming_queue_test.sh; fi - if [ $RAY_CI_STREAMING_PYTHON_AFFECTED == "1" ]; then python -m pytest -v --durations=5 --timeout=300 streaming/python/tests/; fi - if [ $RAY_CI_STREAMING_JAVA_AFFECTED == "1" ]; then ./streaming/java/test.sh; fi - os: linux env: - LINT=1 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init before_script: - . ./ci/travis/ci.sh lint - . ./ci/travis/ci.sh build script: - true # we still need this block to exist, otherwise it will fall back to the global one # Build MacOS wheels and MacOS jars - os: osx osx_image: xcode7 env: - MAC_WHEELS=1 MAC_JARS=1 - PYTHONWARNINGS=ignore - RAY_INSTALL_JAVA=1 install: - . ./ci/travis/ci.sh init RAY_CI_MACOS_WHEELS_AFFECTED,RAY_CI_JAVA_AFFECTED,RAY_CI_STREAMING_JAVA_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - . ./ci/travis/ci.sh test_wheels - bash ./java/build-jar-multiplatform.sh darwin # Build Linux wheels and multi-platform jars. - os: linux env: - LINUX_WHEELS=1 MULTIPLATFORM_JARS=1 - PYTHONWARNINGS=ignore - RAY_INSTALL_JAVA=1 install: - . ./ci/travis/ci.sh init RAY_CI_LINUX_WHEELS_AFFECTED,RAY_CI_JAVA_AFFECTED,RAY_CI_STREAMING_JAVA_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - . ./ci/travis/ci.sh test_wheels - if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then ./ci/keep_alive bash $TRAVIS_BUILD_DIR/ci/travis/build-docker-images.sh; fi - bash ./java/build-jar-multiplatform.sh linux - bash ./java/build-jar-multiplatform.sh multiplatform #- bash ./java/build-jar-multiplatform.sh deploy cache: false # RLlib: Learning tests (from rllib/tuned_examples/*.yaml). - os: linux env: - RLLIB_TESTING=1 RLLIB_REGRESSION_TESTS=1 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHON=3.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_tf rllib/... # RLlib: Learning tests with tf=1.x (from rllib/tuned_examples/*.yaml). # Requested by Edi (MS): Test all learning capabilities with tf1.x - os: linux env: - RLLIB_TESTING=1 RLLIB_REGRESSION_TESTS_TF1X=1 - TF_VERSION=1.14.0 - TFP_VERSION=0.7 - TORCH_VERSION=1.6 - PYTHON=3.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_FULL_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_tf rllib/... # RLlib: Learning tests with torch (from rllib/tuned_examples/*.yaml). - os: linux env: - RLLIB_TESTING=1 RLLIB_REGRESSION_TESTS_TORCH=1 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHON=3.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=learning_tests_torch rllib/... # RLlib: Quick Agent train.py runs (compilation & running, no(!) learning). # Agent single tests (compilation, loss-funcs, etc..). - os: linux env: - RLLIB_TESTING=1 RLLIB_QUICK_TRAIN_AND_MISC_TESTS=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_FULL_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=quick_train rllib/... # Test everything that does not have any of the "main" labels: # "learning_tests|quick_train|examples|tests_dir". - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-learning_tests_tf,-learning_tests_torch,-quick_train,-examples,-tests_dir rllib/... # RLlib: Everything in rllib/examples/ directory. - os: linux env: - RLLIB_TESTING=1 RLLIB_EXAMPLE_DIR_TESTS=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_FULL_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_A,examples_B rllib/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_C,examples_D rllib/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_E,examples_F,examples_G,examples_H,examples_I,examples_J,examples_K,examples_L,examples_M,examples_N,examples_O,examples_P rllib/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=examples_Q,examples_R,examples_S,examples_T,examples_U,examples_V,examples_W,examples_X,examples_Y,examples_Z rllib/... # RLlib: tests_dir: Everything in rllib/tests/ directory (A-L). - os: linux env: - RLLIB_TESTING=1 RLLIB_TESTS_DIR_TESTS_A_TO_L=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_FULL_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tests_dir_A,tests_dir_B,tests_dir_C,tests_dir_D,tests_dir_E,tests_dir_F,tests_dir_G,tests_dir_H,tests_dir_I,tests_dir_J,tests_dir_K,tests_dir_L rllib/... # RLlib: tests_dir: Everything in rllib/tests/ directory (M-Z). - os: linux env: - RLLIB_TESTING=1 RLLIB_TESTS_DIR_TESTS_M_TO_Z=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.6 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_RLLIB_FULL_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tests_dir_M,tests_dir_N,tests_dir_O,tests_dir_P,tests_dir_Q,tests_dir_R,tests_dir_S,tests_dir_T,tests_dir_U,tests_dir_V,tests_dir_W,tests_dir_X,tests_dir_Y,tests_dir_Z rllib/... # Tune: Tests and examples. - os: linux env: - TUNE_TESTING=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.5 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_TUNE_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only,-example python/ray/tune/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=example,-tf,-pytorch,-py37,-flaky python/ray/tune/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37,-flaky python/ray/tune/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37,-flaky python/ray/tune/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-py37,flaky python/ray/tune/... # SGD: Tests and examples. - os: linux env: - SGD_TESTING=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.5 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_SGD_AFFECTED before_script: - . ./ci/travis/ci.sh build script: # No such tests at the moment: # - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 python/ray/util/sgd/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37 python/ray/util/sgd/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37 python/ray/util/sgd/... # Docs: Tests and examples. - os: linux env: - DOC_TESTING=1 - PYTHON=3.6 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.5 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_PYTHON_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,-pytorch,-py37 doc/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=tf,-pytorch,-py37 doc/... - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=-tf,pytorch,-py37 doc/... # Tune/SGD/Docs: Python >= 3.7 tests and examples. - os: linux env: - PYTHON=3.7 TUNE_TESTING=1 - TF_VERSION=2.1.0 - TFP_VERSION=0.8 - TORCH_VERSION=1.5 - PYTHONWARNINGS=ignore install: - . ./ci/travis/ci.sh init RAY_CI_TUNE_AFFECTED,RAY_CI_SGD_AFFECTED before_script: - . ./ci/travis/ci.sh build script: - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 python/ray/tune/... # There are no python 3.7 tests for RaySGD/Docs at the moment # - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 python/ray/util/sgd/... # - ./ci/keep_alive bazel test --config=ci --build_tests_only --test_tag_filters=py37 doc/... # Cpp worker test - os: linux env: - TESTSUITE=cpp_worker - PYTHON=3.6 install: - . ./ci/travis/ci.sh init before_script: - . ./ci/travis/ci.sh build script: - . ./ci/travis/ci.sh test_cpp script: # raylet integration tests (core_worker_tests included in bazel tests below) - ./ci/suppress_output bash src/ray/test/run_object_manager_tests.sh # cc bazel tests (w/o RLlib) - ./ci/suppress_output bazel test --config=ci --build_tests_only -- //:all -rllib/... # ray serve tests - if [ $RAY_CI_SERVE_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only python/ray/serve/...; fi # ray dashboard tests - if [ "$RAY_CI_DASHBOARD_AFFECTED" == "1" ]; then ./ci/keep_alive bazel test python/ray/dashboard/...; fi # ray operator tests - (cd deploy/ray-operator && export CC=gcc && suppress_output go build && suppress_output go test ./...) # test ray typing - mypy --strict ./ci/travis/check_typing_good.py - mypy --strict ./ci/travis/check_typing_bad.py && return 1 || return 0 # bazel python tests. This should be run last to keep its logs at the end of travis logs. - if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only python/ray/tests/...; fi # NO MORE TESTS BELOW, keep them above. deploy: - provider: s3 edge: true # This supposedly opts in to deploy v2. access_key_id: AKIAU6DMUCJUFL3EX3SM secret_access_key: secure: J1sX71fKFPQhgWzColllxfzcF877ScBZ1cIl71krZ6SO0LKnwsCScpQck5eZOyQo/Iverwye0iKtE87qNsiRi3+V2D9iulSr18T09j7+FjPKfxAmXmjfrNafoMXTDQroSJblCri5vl+DysISPqImJkWTNaYhGJ9QakoSd5djnAopLNWj6PCR3S50baS49+nB5nSIY3jMhtUzlaBdniFPFC81Cxyuafr4pv6McGRfR/dK+ZnPhdGtMnVeIJXB+ooZKQ26mDJKBPka4jm3u1Oa72b/Atu2RO3MwxTg79LTrMxXKh2OcCqhtD2Z3lz1OltvNSunCuwY8AejCJsfSLbM9mGDoz+xhNUWmYNy48YFf+61OY8PXi8S/9Q817yb3GpLbb2l/P+KMgq9eSEiELIOwuYsDxPX5TuAg6dx0wCNgDEBJoThSQjYl6MgJrLrs7p+JBxp3giedHiy0TLa5hCVKTj3euONAXDArYnnT+DvUIOkaeTk5DClRZbZ0sUXhLy//HuT5WJvjFBJJZ0u0f4RLVb5D7DI4uMZr7+yJPDR2AXCyW9YMaBEbmEYbPaKi283jlEyn7R33+AZlnXv0THHwZ4xvjKKG3/fBSXsOUmv5wmUveEqVGDj1mKPGj9NF8iA5qMm2AaZuJpEEBVBZtSlTZt6ZG7rzAJZGNL52t7xuMo= bucket: ray-wheels acl: public_read region: us-west-2 local_dir: .whl upload-dir: "$TRAVIS_BRANCH/$TRAVIS_COMMIT" skip_cleanup: true on: repo: ray-project/ray all_branches: true condition: $LINUX_WHEELS = 1 || $MAC_WHEELS = 1 - provider: s3 edge: true # This supposedly opts in to deploy v2. access_key_id: AKIAU6DMUCJUFL3EX3SM secret_access_key: secure: J1sX71fKFPQhgWzColllxfzcF877ScBZ1cIl71krZ6SO0LKnwsCScpQck5eZOyQo/Iverwye0iKtE87qNsiRi3+V2D9iulSr18T09j7+FjPKfxAmXmjfrNafoMXTDQroSJblCri5vl+DysISPqImJkWTNaYhGJ9QakoSd5djnAopLNWj6PCR3S50baS49+nB5nSIY3jMhtUzlaBdniFPFC81Cxyuafr4pv6McGRfR/dK+ZnPhdGtMnVeIJXB+ooZKQ26mDJKBPka4jm3u1Oa72b/Atu2RO3MwxTg79LTrMxXKh2OcCqhtD2Z3lz1OltvNSunCuwY8AejCJsfSLbM9mGDoz+xhNUWmYNy48YFf+61OY8PXi8S/9Q817yb3GpLbb2l/P+KMgq9eSEiELIOwuYsDxPX5TuAg6dx0wCNgDEBJoThSQjYl6MgJrLrs7p+JBxp3giedHiy0TLa5hCVKTj3euONAXDArYnnT+DvUIOkaeTk5DClRZbZ0sUXhLy//HuT5WJvjFBJJZ0u0f4RLVb5D7DI4uMZr7+yJPDR2AXCyW9YMaBEbmEYbPaKi283jlEyn7R33+AZlnXv0THHwZ4xvjKKG3/fBSXsOUmv5wmUveEqVGDj1mKPGj9NF8iA5qMm2AaZuJpEEBVBZtSlTZt6ZG7rzAJZGNL52t7xuMo= bucket: ray-wheels acl: public_read region: us-west-2 local_dir: .whl upload-dir: latest skip_cleanup: true on: branch: master repo: ray-project/ray condition: $LINUX_WHEELS = 1 || $MAC_WHEELS = 1 # Upload jars so that we can debug locally for every commit - provider: s3 edge: true # This supposedly opts in to deploy v2. access_key_id: AKIAU6DMUCJUFL3EX3SM secret_access_key: secure: J1sX71fKFPQhgWzColllxfzcF877ScBZ1cIl71krZ6SO0LKnwsCScpQck5eZOyQo/Iverwye0iKtE87qNsiRi3+V2D9iulSr18T09j7+FjPKfxAmXmjfrNafoMXTDQroSJblCri5vl+DysISPqImJkWTNaYhGJ9QakoSd5djnAopLNWj6PCR3S50baS49+nB5nSIY3jMhtUzlaBdniFPFC81Cxyuafr4pv6McGRfR/dK+ZnPhdGtMnVeIJXB+ooZKQ26mDJKBPka4jm3u1Oa72b/Atu2RO3MwxTg79LTrMxXKh2OcCqhtD2Z3lz1OltvNSunCuwY8AejCJsfSLbM9mGDoz+xhNUWmYNy48YFf+61OY8PXi8S/9Q817yb3GpLbb2l/P+KMgq9eSEiELIOwuYsDxPX5TuAg6dx0wCNgDEBJoThSQjYl6MgJrLrs7p+JBxp3giedHiy0TLa5hCVKTj3euONAXDArYnnT+DvUIOkaeTk5DClRZbZ0sUXhLy//HuT5WJvjFBJJZ0u0f4RLVb5D7DI4uMZr7+yJPDR2AXCyW9YMaBEbmEYbPaKi283jlEyn7R33+AZlnXv0THHwZ4xvjKKG3/fBSXsOUmv5wmUveEqVGDj1mKPGj9NF8iA5qMm2AaZuJpEEBVBZtSlTZt6ZG7rzAJZGNL52t7xuMo= bucket: ray-wheels acl: public_read region: us-west-2 local_dir: .jar upload-dir: "jars/$TRAVIS_BRANCH/$TRAVIS_COMMIT" skip_cleanup: true on: repo: ray-project/ray all_branches: true condition: $MULTIPLATFORM_JARS = 1 || $MAC_JARS = 1 - provider: s3 edge: true # This supposedly opts in to deploy v2. access_key_id: AKIAU6DMUCJUFL3EX3SM secret_access_key: secure: J1sX71fKFPQhgWzColllxfzcF877ScBZ1cIl71krZ6SO0LKnwsCScpQck5eZOyQo/Iverwye0iKtE87qNsiRi3+V2D9iulSr18T09j7+FjPKfxAmXmjfrNafoMXTDQroSJblCri5vl+DysISPqImJkWTNaYhGJ9QakoSd5djnAopLNWj6PCR3S50baS49+nB5nSIY3jMhtUzlaBdniFPFC81Cxyuafr4pv6McGRfR/dK+ZnPhdGtMnVeIJXB+ooZKQ26mDJKBPka4jm3u1Oa72b/Atu2RO3MwxTg79LTrMxXKh2OcCqhtD2Z3lz1OltvNSunCuwY8AejCJsfSLbM9mGDoz+xhNUWmYNy48YFf+61OY8PXi8S/9Q817yb3GpLbb2l/P+KMgq9eSEiELIOwuYsDxPX5TuAg6dx0wCNgDEBJoThSQjYl6MgJrLrs7p+JBxp3giedHiy0TLa5hCVKTj3euONAXDArYnnT+DvUIOkaeTk5DClRZbZ0sUXhLy//HuT5WJvjFBJJZ0u0f4RLVb5D7DI4uMZr7+yJPDR2AXCyW9YMaBEbmEYbPaKi283jlEyn7R33+AZlnXv0THHwZ4xvjKKG3/fBSXsOUmv5wmUveEqVGDj1mKPGj9NF8iA5qMm2AaZuJpEEBVBZtSlTZt6ZG7rzAJZGNL52t7xuMo= bucket: ray-wheels acl: public_read region: us-west-2 local_dir: .jar upload-dir: "jars/latest" skip_cleanup: true on: repo: ray-project/ray branch: master condition: $MULTIPLATFORM_JARS = 1 || $MAC_JARS = 1 - provider: script edge: true # This supposedly opts in to deploy v2. script: ./ci/keep_alive bash $TRAVIS_BUILD_DIR/ci/travis/build-docker-images.sh skip_cleanup: true on: repo: ray-project/ray all_branches: true condition: $LINUX_WHEELS = 1