Skip to content

Add py3.8 to the test matrix #453

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

Closed
wants to merge 13 commits into from
7 changes: 7 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ matrix:
python: "3.6"
- os: linux
python: "3.7"
- os: linux
python: "3.8"

install:
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then
Expand All @@ -29,6 +31,11 @@ install:
elif [ "$TRAVIS_PYTHON_VERSION" = "pypy3.5" ]; then
pip install -U click h11 wsproto==0.13.*;
pip install -U autoflake codecov isort pytest pytest-cov requests;
elif [ "$TRAVIS_PYTHON_VERSION" = "3.8" ]; then
pip install -U Cython;
pip install -U git+https://github.com/MagicStack/uvloop.git@1eb6727437430fe0500d7f044dd6e4432abd0901;
pip install -U click h11 httptools websockets==8.* wsproto==0.13.*;
pip install -U autoflake black codecov isort pytest pytest-cov requests;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How come we need to install cython here?
I guess ideally we'd have test cases that just skipif a required dependency isn't installed.
Then we can just eg. omit uvloop, until they have a non-dev version that supports 3.8.

Copy link
Member Author

@gvbgduh gvbgduh Oct 22, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was an experimental PR to see what it gets to get it working and it doesn't look satisfying.
It definitely a good idea to have a fallback to asyncio with probably a warning.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'd be okay on this if we'd resolved #298, and if we made the uvloop install conditional on py<=3.7 for the time being.

Users can still run on 3.8, but only if they figure out that they need to use --loop asyncio, which isn't ideal.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh actually we'd got a conditional install for uvloop already. Is there a way we can also add "only for 3.6 and 3.7" to setup.py, until we've got a fix from them?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah okay, we should probably just sit tight on this... MagicStack/uvloop#277 (comment)

else
pip install -U -r requirements.txt;
fi;
Expand Down