Skip to content

Commit

Permalink
ci(gevent): pin greenlet for legacy gevent versions (backport #4437) (#…
Browse files Browse the repository at this point in the history
…4456)

* ci(gevent): pin greenlet for legacy gevent versions (#4437)

Earlier versions of gevent (v1.1, v1.2, v1.3, v1.4, v20.9) only specify a minimum greenlet version. greenlet v2.0 updated its ABI to support py3.11 and is only compatible with gevent>=22.10.2..

This change updates gevent and opentracer tests to install greenlet<2 if gevent<=20.9 is used.

Co-authored-by: Munir Abdinur <munir.abdinur@datadoghq.com>
  • Loading branch information
mergify[bot] and mabdinur committed Nov 8, 2022
1 parent 127e90c commit ec0f291
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions tox.ini
Expand Up @@ -31,10 +31,10 @@ envlist =
dogpile_contrib-py{36,37,38,39,310}-dogpilecache{06,07,08,09,10,}
futures_contrib-py27-futures{30,31,32,}
futures_contrib-py{35,36,37,38,39,310}
gevent_contrib-py27-gevent{11,12,13}-sslmodules
gevent_contrib-py{35,36}-gevent{11,12,13}-sslmodules3-sslmodules
gevent_contrib-py{37,38}-gevent{13,14}-sslmodules3-sslmodules
gevent_contrib-py{39}-gevent{209,2012,211}-sslmodules3-sslmodules
gevent_contrib-py27-gevent{11,12,13}-greenlet1-sslmodules
gevent_contrib-py{35,36}-gevent{11,12,13}-greenlet1-sslmodules3-sslmodules
gevent_contrib-py{37,38}-gevent{13,14}-greenlet1-sslmodules3-sslmodules
gevent_contrib-py{39}-gevent{209,2012,211}-greenlet1-sslmodules3-sslmodules
gevent_contrib-py{310}-gevent{218}-sslmodules3-sslmodules
httplib_contrib-py{27,35,36,37,38,39,310}
kombu_contrib-py{27,35,36}-kombu{40,41,42,43,44,45,46,}
Expand Down Expand Up @@ -64,20 +64,20 @@ envlist =
py{27,35,36,37,38,39,310}-opentracer
py{35,36,37,38,39,310}-opentracer_asyncio
py{35,36,37,38,39,310}-opentracer_tornado-tornado{44,45,50,60,}
py{27,35,36}-opentracer_gevent-gevent{11,12}
py{37,38}-opentracer_gevent-gevent{13,14}
py{39,310}-opentracer_gevent-gevent{209,2012,211}
py{27,35,36}-opentracer_gevent-gevent{11,12}-greenlet1
py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1
py{39,310}-opentracer_gevent-gevent{209,2012,211}-greenlet1

isolated_build = true

requires = virtualenv<=20.2.1

[testenv:gevent_contrib-py{37,38}-gevent{13,14}-sslmodules3-sslmodules]
[testenv:gevent_contrib-py{37,38}-gevent{13,14}-greenlet1-sslmodules3-sslmodules]
# Wheels for gevent segfault pretty easily
install_command=python -m pip install --no-binary=gevent {opts} {packages}
usedevelop = true

[testenv:py{37,38}-opentracer_gevent-gevent{13,14}]
[testenv:py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1]
# Wheels for gevent segfault pretty easily
install_command=python -m pip install --no-binary=gevent {opts} {packages}
usedevelop = true
Expand Down Expand Up @@ -119,8 +119,12 @@ deps =
py310-profile-minreqs: protobuf==3.8.0
profile-minreqs: tenacity==5.0.1
profile-!minreqs-gevent: gevent
# gevent==1.1 requires greenlet<2
py27-profile-minreqs-gevent: gevent==1.1.0
py27-profile-minreqs-gevent: greenlet<2
# gevent==1.4 requires greenlet<2
py{35,36,37,38}-profile-minreqs-gevent: gevent==1.4.0
py{35,36,37,38}-profile-minreqs-gevent: greenlet<2
py39-profile-minreqs-gevent: gevent==20.6.1; sys_platform != 'win32'
py39-profile-minreqs-gevent: gevent==21.1.2; sys_platform == 'win32'
py39-profile-minreqs-gevent: greenlet==0.4.16; sys_platform != 'win32'
Expand Down Expand Up @@ -161,6 +165,9 @@ deps =
gevent2012: gevent>=20.12,<20.13
gevent211: gevent>=21.1,<21.2
gevent218: gevent>=21.8,<21.9
# Note - gevent<20.12 does not set a maximum supported version.
# To test with gevent<20.12 we need to manually install greenlet<2.
greenlet1: greenlet>=1,<2
# kombu using deprecated shims removed in importlib-metadata 5.0
kombu{40,41,42,43,44,45,46,}: importlib_metadata<5.0; python_version<'3.8'
kombu: kombu
Expand Down

0 comments on commit ec0f291

Please sign in to comment.