Skip to content

Commit a649188

Browse files
ci(gevent): pin greenlet for legacy gevent versions (#4437) (#4453)
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: Brett Langdon <[email protected]> (cherry picked from commit b85fca2) Co-authored-by: Munir Abdinur <[email protected]>
1 parent 40111cb commit a649188

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

tox.ini

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,11 @@ envlist =
3636
dogpile_contrib-py{311}-dogpilecache{08,09,10,11,}
3737
futures_contrib-py27-futures{30,31,32,}
3838
futures_contrib-py{35,36,37,38,39,310,311}
39-
gevent_contrib-py27-gevent{11,12,13}-sslmodules
40-
gevent_contrib-py{35,36}-gevent{11,12,13}-sslmodules3-sslmodules
41-
gevent_contrib-py{37,38}-gevent{13,14}-sslmodules3-sslmodules
42-
gevent_contrib-py{39}-gevent{209,2012,211}-sslmodules3-sslmodules
39+
gevent_contrib-py27-gevent{11,12,13}-greenlet1-sslmodules
40+
gevent_contrib-py{35,36}-gevent{11,12,13}-greenlet1-sslmodules3-sslmodules
41+
gevent_contrib-py{37,38}-gevent{13,14}-greenlet1-sslmodules3-sslmodules
42+
gevent_contrib-py{39}-gevent209-greenlet1-sslmodules3-sslmodules
43+
gevent_contrib-py{39}-gevent{2012,211}-sslmodules3-sslmodules
4344
gevent_contrib-py{310}-gevent{218}-sslmodules3-sslmodules
4445
gevent_contrib-py{311}-gevent{228}-sslmodules3-sslmodules
4546
kombu_contrib-py{27,35,36}-kombu{40,41,42,43,44,45,46,}
@@ -70,21 +71,22 @@ envlist =
7071
py{27,35,36,37,38,39,310,311}-opentracer
7172
py{35,36,37,38,39,310,311}-opentracer_asyncio
7273
py{35,36,37,38,39,310,311}-opentracer_tornado-tornado{44,45,50,60,}
73-
py{27,35,36}-opentracer_gevent-gevent{11,12}
74-
py{37,38}-opentracer_gevent-gevent{13,14}
75-
py{39}-opentracer_gevent-gevent{209,2012,211}
74+
py{27,35,36}-opentracer_gevent-gevent{11,12}-greenlet1
75+
py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1
76+
py{39}-opentracer_gevent-gevent209-greenlet1
77+
py{39}-opentracer_gevent-gevent{2012,211}-greenlet1
7678
py{310,311}-opentracer_gevent-gevent{228}
7779

7880
isolated_build = true
7981

8082
requires = virtualenv<=20.2.1
8183

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

87-
[testenv:py{37,38}-opentracer_gevent-gevent{13,14}]
89+
[testenv:py{37,38}-opentracer_gevent-gevent{13,14}-greenlet1]
8890
# Wheels for gevent segfault pretty easily
8991
install_command=python -m pip install --no-binary=gevent {opts} {packages}
9092
usedevelop = true
@@ -133,8 +135,12 @@ deps =
133135
py{310}-profile-minreqs: protobuf==3.8.0
134136
profile-minreqs: tenacity==5.0.1
135137
profile-!minreqs-gevent: gevent
138+
# gevent==1.1 requires greenlet<2
136139
py27-profile-minreqs-gevent: gevent==1.1.0
140+
py27-profile-minreqs-gevent: greenlet<2
141+
# gevent==1.4 requires greenlet<2
137142
py{35,36,37,38}-profile-minreqs-gevent: gevent==1.4.0
143+
py{35,36,37,38}-profile-minreqs-gevent: greenlet<2
138144
py39-profile-minreqs-gevent: gevent==20.6.1; sys_platform != 'win32'
139145
py39-profile-minreqs-gevent: gevent==21.1.2; sys_platform == 'win32'
140146
py39-profile-minreqs-gevent: greenlet==0.4.16; sys_platform != 'win32'
@@ -178,6 +184,9 @@ deps =
178184
gevent211: gevent>=21.1,<21.2
179185
gevent218: gevent>=21.8,<21.9
180186
gevent228: gevent>=22.8,<22.10
187+
# Note - gevent<20.12 does not set a maximum supported version.
188+
# To test with gevent<20.12 we need to manually install greenlet<2.
189+
greenlet1: greenlet>=1,<2
181190
# kombu using deprecated shims removed in importlib-metadata 5.0
182191
kombu{40,41,42,43,44,45,46,}: importlib_metadata<5.0; python_version<'3.8'
183192
kombu: kombu

0 commit comments

Comments
 (0)