-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Set up testing and wheels for Windows on GitHub Actions #8131
Conversation
Can one of the admins verify this patch? |
830077a
to
230754a
Compare
Test PASSed. |
Test PASSed. |
11a3353
to
41ee482
Compare
Test FAILed. |
Test PASSed. |
Test PASSed. |
41ee482
to
b773fab
Compare
Test PASSed. |
ci/travis/install-dependencies.sh
Outdated
pip install flake8==3.7.7 flake8-comprehensions flake8-quotes==2.0.0 yapf==0.23.0 # Python linters | ||
# readthedocs has an antiquated build env. | ||
# This is a best effort to reproduce it locally to avoid doc build failures and hidden errors. | ||
local filename |
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.
why is the below change needed? pip install seems to have worked before just fine
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.
The sed
line I can probably remove (I think I added it a while ago to help me debug some stuff), but the filter_compatible_pip_requirements
line is needed since the blist
requirement doesn't work on on Windows as I mentioned below.
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 think we can remove it from the requirements-doc
, because we are mocking it for read the docs anyways. Does that work?
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.
Not sure, I can give it a shot and see.
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.
Yeah, I'm pretty sure it will work :)
ci/travis/install-dependencies.sh
Outdated
} | ||
|
||
# Takes a list of pip requirements and prints the ones that don't have known incompatibilities with the current system. | ||
filter_compatible_pip_requirements() { |
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 remove this. We can for example address it later by trying to remove the dependencies that are incompatible.
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.
Wouldn't it just break something if I remove them from the requirements file? I think one of them was blist
, I forget if there was another one. Should I just delete those lines from the requirements? I would've guessed it would break something for users.
Test PASSed. |
ci/travis/ci.sh
Outdated
esac | ||
case "${HOSTTYPE}" in | ||
x86_64) architecture=amd64;; | ||
i?86*) architecture=i386;; |
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.
Why do we need to support that?
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 guess we don't; I just added the case
to make it clear there's a translation from HOSTTYPE
and then this seemed like a cheap line to add afterwards. I can remove it.
Merged build finished. Test PASSed. |
Test PASSed. |
Test PASSed. |
944aefb
to
1535bbd
Compare
.travis.yml
Outdated
|
||
# random python tests TODO(ekl): these should be moved to bazel | ||
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then python -m pytest -v --durations=5 --timeout=300 python/ray/experimental/test/async_test.py; fi | ||
|
||
# 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 | ||
- if [ $RAY_CI_TUNE_AFFECTED == "1" ]; then ./ci/keep_alive bazel test --config=ci --test_tag_filters=-jenkins_only python/ray/tune/...; fi | ||
- if [ $RAY_CI_PYTHON_AFFECTED == "1" ]; then bazel_targets+=(python/ray/tests/...); fi |
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.
Why is this change needed?
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.
It factors out and deduplicates the bazel test
calls for maintainability.
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.
No, it makes it harder to read (and harder to copy and paste into a terminal if you want to run it).
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.
Hmm okie
fi | ||
test -z "${set_x}" || set -x # restore set -x | ||
|
||
# Deduplicate PATH |
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.
This should not be needed...
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 are you basing this on?
reload_env
can (and I believe is) called multiple times in a single shell, and it needs to be idempotent. If you change PATH
n times without deduplicating then you're going to build with Bazel n times. I don't think that's a good idea.
Test PASSed. |
Test PASSed. |
Test PASSed. |
dfc3235
to
cb623f4
Compare
Test PASSed. |
Test PASSed. |
.travis.yml
Outdated
@@ -150,8 +122,7 @@ matrix: | |||
- . ./ci/travis/ci.sh build | |||
script: | |||
- . ./ci/travis/ci.sh preload | |||
# Explicitly sleep 60 seconds for logs to go through | |||
- ./ci/travis/test-wheels.sh || { cat /tmp/ray/session_latest/logs/* && sleep 60 && false; } | |||
- . ./ci/travis/ci.sh run |
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.
This should be . ./ci/travis/ci.sh test_wheels
.travis.yml
Outdated
@@ -167,8 +138,7 @@ matrix: | |||
- . ./ci/travis/ci.sh build | |||
script: | |||
- . ./ci/travis/ci.sh preload | |||
# Explicitly sleep 60 seconds for logs to go through | |||
- ./ci/travis/test-wheels.sh || { cat /tmp/ray/session_latest/logs/* && sleep 60 && false; } | |||
- . ./ci/travis/ci.sh run |
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.
This should be . ./ci/travis/ci.sh test_wheels
.travis.yml
Outdated
@@ -297,7 +267,7 @@ matrix: | |||
- . ./ci/travis/ci.sh build | |||
script: | |||
- . ./ci/travis/ci.sh preload | |||
- bazel test --config=ci //cpp:all --build_tests_only --test_output=streamed | |||
- . ./ci/travis/ci.sh run |
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.
This should be . ./ci/travis/ci.sh test_cpp
Test PASSed. |
Test PASSed. |
Why are these changes needed?
Lays the groundwork for testing and wheel building for Windows on GitHub Actions.
Related issue number
#631
Checks
scripts/format.sh
to lint the changes in this PR.