mirror of
https://github.com/vale981/ray
synced 2025-03-05 10:01:43 -05:00
210 lines
10 KiB
YAML
210 lines
10 KiB
YAML
language: generic
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
env: PYTHON=2.7 PYTHONWARNINGS=ignore
|
|
|
|
- os: linux
|
|
env: PYTHON=3.5 PYTHONWARNINGS=ignore
|
|
|
|
- os: osx
|
|
osx_image: xcode7
|
|
env: PYTHON=2.7 PYTHONWARNINGS=ignore
|
|
|
|
- os: osx
|
|
osx_image: xcode7
|
|
env: PYTHON=3.5 PYTHONWARNINGS=ignore
|
|
|
|
- os: linux
|
|
env:
|
|
- JDK='Oracle JDK 8'
|
|
- PYTHON=3.5 PYTHONWARNINGS=ignore
|
|
- RAY_INSTALL_JAVA=1
|
|
install:
|
|
- eval `python $TRAVIS_BUILD_DIR/ci/travis/determine_tests_to_run.py`
|
|
- if [ $RAY_CI_JAVA_AFFECTED != "1" ]; then exit; fi
|
|
- ./ci/suppress_output ./ci/travis/install-bazel.sh
|
|
- ./ci/suppress_output ./ci/travis/install-dependencies.sh
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
- ./ci/suppress_output ./ci/travis/install-ray.sh
|
|
script:
|
|
- if [ $RAY_CI_JAVA_AFFECTED != "1" ]; then exit; fi
|
|
- ./java/test.sh
|
|
|
|
- os: linux
|
|
env: LINT=1 PYTHONWARNINGS=ignore
|
|
before_install:
|
|
# In case we ever want to use a different version of clang-format:
|
|
#- wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
#- echo "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty main" | sudo tee -a /etc/apt/sources.list > /dev/null
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq clang-format-3.8
|
|
install: []
|
|
script:
|
|
- ./ci/travis/check-git-clang-format-output.sh
|
|
# Try generating Sphinx documentation. To do this, we need to install
|
|
# Ray first.
|
|
- ./ci/travis/install-dependencies.sh
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
- cd doc
|
|
- pip install -q -r requirements-doc.txt
|
|
- pip install yapf==0.23.0
|
|
- sphinx-build -W -b html -d _build/doctrees source _build/html
|
|
- cd ..
|
|
# Run Python linting, ignore dict vs {} (C408), others are defaults
|
|
- flake8 --inline-quotes '"' --exclude=python/ray/core/generated/,doc/source/conf.py,python/ray/cloudpickle/ --ignore=C408,E121,E123,E126,E226,E24,E704,W503,W504,W605
|
|
- ./ci/travis/format.sh --all
|
|
# Make sure that the README is formatted properly.
|
|
- cd python
|
|
- python setup.py check --restructuredtext --strict --metadata
|
|
- cd ..
|
|
# Run Bazel linter Buildifier.
|
|
- wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
|
|
- tar -xf go1.11.linux-amd64.tar.gz
|
|
- mkdir $HOME/go_dir
|
|
- export GOROOT=`pwd`/go
|
|
- export GOPATH="$HOME/go_dir"
|
|
- export PATH="$GOROOT/bin:$GOPATH/bin:$PATH"
|
|
- go get github.com/bazelbuild/buildtools/buildifier
|
|
- ./ci/travis/bazel-format.sh
|
|
|
|
- os: linux
|
|
env: VALGRIND=1 PYTHON=2.7 PYTHONWARNINGS=ignore
|
|
before_install:
|
|
- eval `python $TRAVIS_BUILD_DIR/ci/travis/determine_tests_to_run.py`
|
|
- if [ $RAY_CI_PYTHON_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq valgrind
|
|
install:
|
|
- if [ $RAY_CI_PYTHON_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- ./ci/suppress_output ./ci/travis/install-bazel.sh
|
|
- ./ci/suppress_output ./ci/travis/install-dependencies.sh
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
- ./ci/suppress_output ./ci/travis/install-ray.sh
|
|
|
|
script:
|
|
- if [ $RAY_CI_PYTHON_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- bash src/ray/test/run_object_manager_valgrind.sh
|
|
|
|
- export RAY_PLASMA_STORE_VALGRIND=1
|
|
# - export RAY_RAYLET_VALGRIND=1
|
|
# - export RAY_RAYLET_MONITOR_VALGRIND=1
|
|
# - export RAY_REDIS_SERVER_VALGRIND=1
|
|
|
|
# # Python3.5+ only. Otherwise we will get `SyntaxError` regardless of how we set the tester.
|
|
- python -c 'import sys;exit(sys.version_info>=(3,5))' || python -m pytest -v --durations=5 python/ray/experimental/test/async_test.py
|
|
- python -m pytest -v --durations=5 --timeout=300 python/ray/tests/test_mini.py
|
|
- python -m pytest -v --durations=5 --timeout=300 python/ray/tests/test_array.py
|
|
- python -m pytest -v --durations=5 --timeout=300 python/ray/tests/test_multi_node_2.py
|
|
- python -m pytest -v --durations=5 --timeout=300 python/ray/tests/test_node_manager.py
|
|
|
|
# Build Linux wheels.
|
|
- os: linux
|
|
env: LINUX_WHEELS=1 PYTHONWARNINGS=ignore
|
|
install:
|
|
- eval `python $TRAVIS_BUILD_DIR/ci/travis/determine_tests_to_run.py`
|
|
- if [ $RAY_CI_LINUX_WHEELS_AFFECTED != "1" ]; then exit; fi
|
|
- ./ci/suppress_output ./ci/travis/install-dependencies.sh
|
|
|
|
# This command should be kept in sync with ray/python/README-building-wheels.md.
|
|
- ./ci/suppress_output docker run --rm -w /ray -v `pwd`:/ray -ti rayproject/arrow_linux_x86_64_base:latest /ray/python/build-wheel-manylinux1.sh
|
|
script:
|
|
- if [ $RAY_CI_LINUX_WHEELS_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- ./ci/travis/test-wheels.sh
|
|
|
|
# Build MacOS wheels.
|
|
- os: osx
|
|
osx_image: xcode7
|
|
env: MAC_WHEELS=1 PYTHONWARNINGS=ignore
|
|
install:
|
|
- eval `python $TRAVIS_BUILD_DIR/ci/travis/determine_tests_to_run.py`
|
|
- if [ $RAY_CI_MACOS_WHEELS_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- ./ci/suppress_output ./ci/travis/install-dependencies.sh
|
|
# This command should be kept in sync with ray/python/README-building-wheels.md.
|
|
- ./python/build-wheel-macos.sh
|
|
script:
|
|
- if [ $RAY_CI_MACOS_WHEELS_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- ./ci/travis/test-wheels.sh
|
|
|
|
install:
|
|
- eval `python $TRAVIS_BUILD_DIR/ci/travis/determine_tests_to_run.py`
|
|
- if [ $RAY_CI_TUNE_AFFECTED != "1" ] && [ $RAY_CI_RLLIB_AFFECTED != "1" ] && [ $RAY_CI_PYTHON_AFFECTED != "1" ]; then exit; fi
|
|
|
|
- ./ci/suppress_output ./ci/travis/install-bazel.sh
|
|
- ./ci/suppress_output ./ci/travis/install-dependencies.sh
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
- ./ci/suppress_output ./ci/travis/install-ray.sh
|
|
- ./ci/suppress_output ./ci/travis/install-cython-examples.sh
|
|
|
|
- ./ci/suppress_output bash src/ray/test/run_gcs_tests.sh
|
|
# stats test.
|
|
- ./ci/suppress_output bazel build //:stats_test -c opt
|
|
- ./bazel-bin/stats_test
|
|
|
|
# Raylet tests.
|
|
- ./ci/suppress_output bash src/ray/test/run_object_manager_tests.sh
|
|
- ./ci/suppress_output bazel test --build_tests_only --test_lang_filters=cc //:all
|
|
# Shutdown bazel to release the memory held by bazel.
|
|
- bazel shutdown
|
|
|
|
script:
|
|
- export PATH="$HOME/miniconda/bin:$PATH"
|
|
# The following is needed so cloudpickle can find some of the
|
|
# class definitions: The main module of tests that are run
|
|
# with pytest have the same name as the test file -- and this
|
|
# module is only found if the test directory is in the PYTHONPATH.
|
|
# - export PYTHONPATH="$PYTHONPATH:./ci/"
|
|
|
|
# ray tune tests
|
|
- if [ $RAY_CI_TUNE_AFFECTED == "1" ]; then ./ci/suppress_output python python/ray/tune/tests/test_dependency.py; fi
|
|
# `cluster_tests.py` runs on Jenkins, not Travis.
|
|
- if [ $RAY_CI_TUNE_AFFECTED == "1" ]; then python -m pytest --durations=10 --timeout=300 --ignore=python/ray/tune/tests/test_cluster.py --ignore=python/ray/tune/tests/test_actor_reuse.py python/ray/tune/tests; fi
|
|
|
|
# ray rllib tests
|
|
- if [ $RAY_CI_RLLIB_AFFECTED == "1" ]; then ./ci/suppress_output python python/ray/rllib/tests/test_catalog.py; fi
|
|
- if [ $RAY_CI_RLLIB_AFFECTED == "1" ]; then ./ci/suppress_output python python/ray/rllib/tests/test_filters.py; fi
|
|
- if [ $RAY_CI_RLLIB_AFFECTED == "1" ]; then ./ci/suppress_output python python/ray/rllib/tests/test_optimizers.py; fi
|
|
- if [ $RAY_CI_RLLIB_AFFECTED == "1" ]; then ./ci/suppress_output python python/ray/rllib/tests/test_evaluators.py; fi
|
|
|
|
# ray tests
|
|
# Python3.5+ only. Otherwise we will get `SyntaxError` regardless of how we set the tester.
|
|
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then python -c 'import sys;exit(sys.version_info>=(3,5))' || python -m pytest -v --durations=5 --timeout=300 python/ray/experimental/test/async_test.py; fi
|
|
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then python -m pytest -v --durations=10 --timeout=300 python/ray/tests; fi
|
|
|
|
deploy:
|
|
- provider: s3
|
|
access_key_id: AKIAJ2L7XDUSZVTXI5QA
|
|
secret_access_key:
|
|
secure: OS9V8c/fQ9SIOP+Lg2MIz+PtCSKNQVB3mubscDRHKJcCmOp3cB6AKsC/yepbNZvvjDD/ncW2v6KJVsUEneAeDKrZQWSIpNb34yGAvWb7g4xleLxiadNtx6XEzjWaOcg+Y6409e68XeoHq/5ItopWNQ9p9NHXgsoHbZaOurPyHNskNgwBVaObCy+cCak7ifkITDk6cil0OJYnTbOe3NhcU82Fh5BZzS2+G2qNq8tGNcbfINhq0rruWIBuV5WRB/14CmBR+mou74qFSiiodH/MKbOcplx9+BxoOsTnkl7SeyybcK6DX6jxJCuhSBIjct9uT8Qdovv6mzOMkXvLkLKFkHfkTJSGBRIIZEvkPvzhlEriqTcr4tX/MV8HKs/Acz1NnlD0tNEygOr3VaiSLB0dvpz4iCeI9berqSu/jV1VI1X5iVNfChYbOMQ+OYafJMs5WdO60AMWIHy60U511FjAlbS7IubXBjfhoCItIB1xlVNI7FfKaRbNRwP5qvPenB8FUgZpv3UBg5OZDkeBXSNoLydr0w505p6s8Jqnz750TpVYI11fih5D0N3Ea57OwQr9r/rk+Z8aGeTpWj6hIgQiNkrIf2VZnWTApd+utJPw3X3txUEcnOtcdDnMsPuEIeMvIDrrFMRwzClqMNXq9MewU43wp7cCl67YmDBDKubl7Vs=
|
|
bucket: ray-wheels
|
|
acl: public_read
|
|
region: us-west-2
|
|
local_dir: .whl
|
|
upload-dir: $TRAVIS_COMMIT
|
|
skip_cleanup: true
|
|
on:
|
|
repo: ray-project/ray
|
|
all_branches: true
|
|
condition: $LINUX_WHEELS = 1 || $MAC_WHEELS = 1
|
|
- provider: s3
|
|
access_key_id: AKIAJ2L7XDUSZVTXI5QA
|
|
secret_access_key:
|
|
secure: OS9V8c/fQ9SIOP+Lg2MIz+PtCSKNQVB3mubscDRHKJcCmOp3cB6AKsC/yepbNZvvjDD/ncW2v6KJVsUEneAeDKrZQWSIpNb34yGAvWb7g4xleLxiadNtx6XEzjWaOcg+Y6409e68XeoHq/5ItopWNQ9p9NHXgsoHbZaOurPyHNskNgwBVaObCy+cCak7ifkITDk6cil0OJYnTbOe3NhcU82Fh5BZzS2+G2qNq8tGNcbfINhq0rruWIBuV5WRB/14CmBR+mou74qFSiiodH/MKbOcplx9+BxoOsTnkl7SeyybcK6DX6jxJCuhSBIjct9uT8Qdovv6mzOMkXvLkLKFkHfkTJSGBRIIZEvkPvzhlEriqTcr4tX/MV8HKs/Acz1NnlD0tNEygOr3VaiSLB0dvpz4iCeI9berqSu/jV1VI1X5iVNfChYbOMQ+OYafJMs5WdO60AMWIHy60U511FjAlbS7IubXBjfhoCItIB1xlVNI7FfKaRbNRwP5qvPenB8FUgZpv3UBg5OZDkeBXSNoLydr0w505p6s8Jqnz750TpVYI11fih5D0N3Ea57OwQr9r/rk+Z8aGeTpWj6hIgQiNkrIf2VZnWTApd+utJPw3X3txUEcnOtcdDnMsPuEIeMvIDrrFMRwzClqMNXq9MewU43wp7cCl67YmDBDKubl7Vs=
|
|
bucket: ray-wheels
|
|
acl: public_read
|
|
region: us-west-2
|
|
local_dir: .whl
|
|
upload-dir: latest
|
|
skip_cleanup: true
|
|
only:
|
|
- master
|
|
on:
|
|
repo: ray-project/ray
|
|
condition: $LINUX_WHEELS = 1 || $MAC_WHEELS = 1
|