Skip to content

Commit bfe56c4

Browse files
ci(gevent): pin greenlet for legacy gevent versions (backport #4437) (#4454)
* 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 <[email protected]>
1 parent 98181d8 commit bfe56c4

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

tox.ini

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ envlist =
3232
dogpile_contrib-py{36,37,38,39,310}-dogpilecache{06,07,08,09,10,}
3333
futures_contrib-py27-futures{30,31,32,}
3434
futures_contrib-py{35,36,37,38,39,310}
35-
gevent_contrib-py27-gevent{11,12,13}-sslmodules
36-
gevent_contrib-py{35,36}-gevent{11,12,13}-sslmodules3-sslmodules
37-
gevent_contrib-py{37,38}-gevent{13,14}-sslmodules3-sslmodules
38-
gevent_contrib-py{39}-gevent{209,2012,211}-sslmodules3-sslmodules
35+
gevent_contrib-py27-gevent{11,12,13}-greenlet1-sslmodules
36+
gevent_contrib-py{35,36}-gevent{11,12,13}-greenlet1-sslmodules3-sslmodules
37+
gevent_contrib-py{37,38}-gevent{13,14}-greenlet1-sslmodules3-sslmodules
38+
gevent_contrib-py{39}-gevent{209,2012,211}-greenlet1 -sslmodules3-sslmodules
3939
gevent_contrib-py{310}-gevent{218}-sslmodules3-sslmodules
4040
kombu_contrib-py{27,35,36}-kombu{40,41,42,43,44,45,46,}
4141
# Kombu >= 4.2 only supports Python 3.7+
@@ -63,20 +63,20 @@ envlist =
6363
py{27,35,36,37,38,39,310}-opentracer
6464
py{35,36,37,38,39,310}-opentracer_asyncio
6565
py{35,36,37,38,39,310}-opentracer_tornado-tornado{44,45,50,60,}
66-
py{27,35,36}-opentracer_gevent-gevent{11,12}
67-
py{37,38}-opentracer_gevent-gevent{13,14}
68-
py{39,310}-opentracer_gevent-gevent{209,2012,211}
66+
py{27,35,36}-opentracer_gevent-gevent{11,12}-greenlet1
67+
py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1
68+
py{39,310}-opentracer_gevent-gevent{209,2012,211}-greenlet1
6969

7070
isolated_build = true
7171

7272
requires = virtualenv<=20.2.1
7373

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

79-
[testenv:py{37,38}-opentracer_gevent-gevent{13,14}]
79+
[testenv:py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1]
8080
# Wheels for gevent segfault pretty easily
8181
install_command=python -m pip install --no-binary=gevent {opts} {packages}
8282
usedevelop = true
@@ -122,8 +122,12 @@ deps =
122122
py310-profile-minreqs: protobuf==3.8.0
123123
profile-minreqs: tenacity==5.0.1
124124
profile-!minreqs-gevent: gevent
125+
# gevent==1.1 requires greenlet<2
125126
py27-profile-minreqs-gevent: gevent==1.1.0
127+
py27-profile-minreqs-gevent: greenlet<2
128+
# gevent==1.4 requires greenlet<2
126129
py{35,36,37,38}-profile-minreqs-gevent: gevent==1.4.0
130+
py{35,36,37,38}-profile-minreqs-gevent: greenlet<2
127131
py39-profile-minreqs-gevent: gevent==20.6.1; sys_platform != 'win32'
128132
py39-profile-minreqs-gevent: gevent==21.1.2; sys_platform == 'win32'
129133
py39-profile-minreqs-gevent: greenlet==0.4.16; sys_platform != 'win32'
@@ -165,6 +169,9 @@ deps =
165169
gevent2012: gevent>=20.12,<20.13
166170
gevent211: gevent>=21.1,<21.2
167171
gevent218: gevent>=21.8,<21.9
172+
# Note - gevent<20.12 does not set a maximum supported version.
173+
# To test with gevent<20.12 we need to manually install greenlet<2.
174+
greenlet1: greenlet>=1,<2
168175
# kombu using deprecated shims removed in importlib-metadata 5.0
169176
kombu{40,41,42,43,44,45,46,}: importlib_metadata<5.0; python_version<'3.8'
170177
kombu: kombu

0 commit comments

Comments
 (0)