-
Notifications
You must be signed in to change notification settings - Fork 187
Add ray tests to ci configuration against the development version of cloudpickle #256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #256 +/- ##
=======================================
Coverage 88.05% 88.05%
=======================================
Files 1 1
Lines 544 544
Branches 107 107
=======================================
Hits 479 479
Misses 42 42
Partials 23 23Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #256 +/- ##
=======================================
Coverage 88.05% 88.05%
=======================================
Files 1 1
Lines 544 544
Branches 107 107
=======================================
Hits 479 479
Misses 42 42
Partials 23 23Continue to review full report at Codecov.
|
ad4be0c to
50ac931
Compare
robertnishihara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's start with just one or two really simple tests, e.g., tests/test_mini.py or something like that. Currently this adds too much time to the CI.
Also, I'm not sure if any code in this file is actually shared with the way we do tests for the other thirdparty projects, so I think it may be a lot cleaner to put all of the code in the section for the Ray travis job instead of factoring it out. Do you know what I mean?
- os: linux
env: PROJECT=ray TEST_REQUIREMENTS="setproctitle hypothesis psutil flaky networkx tensorflow scipy Cython==0.29"
PROJECT_URL=https://github.com/ray-project/ray.git
PYTEST_ARGS="--duration=10"
.travis.yml
Outdated
| pushd ..; | ||
| git clone $PROJECT_URL; | ||
| pushd ray/examples/cython; | ||
| python setup.py install; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's avoid building the cython tests for now
|
Creating separate Also, I am open to adding more tests than just |
.travis.yml
Outdated
| if: commit_message =~ /(\[ci downstream\]|\[ci joblib\])/ | ||
| - os: linux | ||
| env: PROJECT=ray TEST_REQUIREMENTS="setproctitle hypothesis psutil" | ||
| PROJECT_URL=https://github.com/ray-project/ray.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can remove PROJECT_URL, right?
.travis.yml
Outdated
| install: | ||
| - pip install . | ||
| - pip install --upgrade -r dev-requirements.txt | ||
| - pip install tornado |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What istornado for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure, I was part of the install not specific to any third-party project so I'm assuming it's something that cloudpickle needs for its tests?
Lines 86 to 93 in b192238
| install: | |
| - pip install . | |
| - pip install --upgrade -r dev-requirements.txt | |
| - pip install tornado | |
| - if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then | |
| pip install numpy scipy; | |
| fi | |
| - if [[ $PROJECT != "" ]]; then |
EDIT: I tried it without the lines in question and it worked
.travis.yml
Outdated
| - pip install . | ||
| - pip install --upgrade -r dev-requirements.txt | ||
| - pip install tornado | ||
| - if [[ $TRAVIS_PYTHON_VERSION != 'pypy'* ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this if statement is necessary.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also don't need scipy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see above comment for tornado
|
@williamma12 it's starting to look pretty good. By the way, can you test that introducing a bug in cloudpickle caueses this test to fail? |
|
@robertnishihara I tested it by adding the following error to cloudpickle and the tests for ray failed cloudpickle/cloudpickle/cloudpickle.py Lines 269 to 279 in 31d76ea
|
|
@williamma12 this looks pretty good to me. I left a couple small comments. |
|
Also, it looks like some of the non-Ray Travis builds are failing. Can you rebase on the current master? |
1216e79 to
04d1041
Compare
robertnishihara
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, thanks @williamma12!
I think this can be merged. @ogrisel want to take a look? Otherwise, I can merge this sometime tomorrow.
ogrisel
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution! I am ok to merge this as is but I would be also open to including more long-running ray tests to ensure better coverage of edge cases.
See also other nitpicks below:
|
Thank you very much. I am merging this as this is already a great start. We can always increase the test coverage with other non-flaky test files later. |
|
Thanks a lot @williamma12 @robertnishihara! |
Similar to #236, this pr adds the ability to test the development version cloudpickle against ray.
Fixes #238
@robertnishihara @ogrisel