17 from collections
import OrderedDict
22 'dart':
'https://github.com/grpc/grpc-dart.git',
23 'go':
'https://github.com/grpc/grpc-go.git',
24 'java':
'https://github.com/grpc/grpc-java.git',
25 'node':
'https://github.com/grpc/grpc-node.git',
27 }.
get(lang,
'https://github.com/grpc/grpc.git')
31 """Returns list of known releases for given language."""
32 return list(LANG_RELEASE_MATRIX[lang].
keys())
36 """Get list of valid runtimes for given release of lang."""
37 runtimes = list(LANG_RUNTIME_MATRIX[lang])
38 release_info = LANG_RELEASE_MATRIX[lang].
get(release)
39 if release_info
and release_info.runtimes:
40 runtimes = list(release_info.runtimes)
48 if lang
in [
'go',
'java',
'node']:
54 LANG_RUNTIME_MATRIX = {
56 'go': [
'go1.8',
'go1.11',
'go1.16'],
58 'python': [
'python',
'pythonasyncio'],
62 'csharp': [
'csharp',
'csharpcoreclr'],
67 """Info about a single release of a language"""
69 def __init__(self, patch=[], runtimes=[], testcases_file=None):
76 LANG_RELEASE_MATRIX = {
79 (
'v1.0.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
80 (
'v1.1.4',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
81 (
'v1.2.5',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
82 (
'v1.3.9',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
83 (
'v1.4.2',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
84 (
'v1.6.6',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
85 (
'v1.7.2',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
86 (
'v1.8.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
87 (
'v1.9.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
88 (
'v1.10.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
89 (
'v1.11.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
90 (
'v1.12.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
91 (
'v1.13.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
92 (
'v1.14.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
93 (
'v1.15.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
94 (
'v1.16.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
95 (
'v1.17.1',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
96 (
'v1.18.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
97 (
'v1.19.0',
ReleaseInfo(testcases_file=
'cxx__v1.0.1')),
98 (
'v1.20.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
99 (
'v1.21.4',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
100 (
'v1.22.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
101 (
'v1.22.1',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
102 (
'v1.23.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
103 (
'v1.24.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
104 (
'v1.25.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
105 (
'v1.26.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
106 (
'v1.27.3',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
107 (
'v1.30.0',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
108 (
'v1.31.1',
ReleaseInfo(testcases_file=
'cxx__v1.31.1')),
126 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
128 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
130 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
132 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
134 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
136 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
138 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
140 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
142 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
144 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
146 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
148 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
150 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
152 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
154 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
156 ReleaseInfo(runtimes=[
'go1.8'], testcases_file=
'go__v1.0.5')),
158 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.0.5')),
160 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.0.5')),
162 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.0.5')),
164 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
166 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
168 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
170 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
172 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
174 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
176 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
178 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
180 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
182 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
184 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
186 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
188 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
190 ReleaseInfo(runtimes=[
'go1.11'], testcases_file=
'go__v1.20.0')),
211 testcases_file=
'java__v1.0.3')),
214 testcases_file=
'java__v1.0.3')),
217 testcases_file=
'java__v1.0.3')),
220 testcases_file=
'java__v1.0.3')),
223 testcases_file=
'java__v1.0.3')),
226 testcases_file=
'java__v1.0.3')),
229 testcases_file=
'java__v1.0.3')),
230 (
'v1.7.1',
ReleaseInfo(testcases_file=
'java__v1.0.3')),
233 testcases_file=
'java__v1.0.3')),
236 testcases_file=
'java__v1.0.3')),
239 testcases_file=
'java__v1.0.3')),
242 testcases_file=
'java__v1.0.3')),
243 (
'v1.12.1',
ReleaseInfo(testcases_file=
'java__v1.0.3')),
244 (
'v1.13.2',
ReleaseInfo(testcases_file=
'java__v1.0.3')),
247 testcases_file=
'java__v1.0.3')),
248 (
'v1.15.1',
ReleaseInfo(testcases_file=
'java__v1.0.3')),
251 testcases_file=
'java__v1.0.3')),
252 (
'v1.17.2',
ReleaseInfo(testcases_file=
'java__v1.0.3')),
255 testcases_file=
'java__v1.0.3')),
258 testcases_file=
'java__v1.0.3')),
259 (
'v1.20.0',
ReleaseInfo(runtimes=[
'java_oracle8'])),
293 testcases_file=
'python__v1.0.x')),
296 testcases_file=
'python__v1.0.x')),
299 testcases_file=
'python__v1.0.x')),
302 testcases_file=
'python__v1.0.x')),
305 testcases_file=
'python__v1.0.x')),
308 testcases_file=
'python__v1.0.x')),
311 testcases_file=
'python__v1.0.x')),
314 testcases_file=
'python__v1.0.x')),
317 testcases_file=
'python__v1.0.x')),
320 testcases_file=
'python__v1.0.x')),
323 testcases_file=
'python__v1.11.1')),
326 testcases_file=
'python__v1.11.1')),
329 testcases_file=
'python__v1.11.1')),
332 testcases_file=
'python__v1.11.1')),
335 testcases_file=
'python__v1.11.1')),
338 testcases_file=
'python__v1.11.1')),
341 testcases_file=
'python__v1.11.1')),
344 testcases_file=
'python__v1.18.0')),
347 testcases_file=
'python__v1.18.0')),
350 testcases_file=
'python__v1.18.0')),
353 testcases_file=
'python__v1.18.0')),
356 testcases_file=
'python__v1.18.0')),
359 testcases_file=
'python__v1.18.0')),
362 testcases_file=
'python__v1.18.0')),
365 testcases_file=
'python__v1.18.0')),
368 testcases_file=
'python__v1.18.0')),
371 testcases_file=
'python__v1.18.0')),
374 testcases_file=
'python__v1.18.0')),
377 testcases_file=
'python__v1.18.0')),
380 testcases_file=
'python__v1.18.0')),
383 testcases_file=
'python__v1.18.0')),
386 testcases_file=
'python__v1.18.0')),
389 testcases_file=
'python__v1.18.0')),
392 testcases_file=
'python__v1.18.0')),
395 testcases_file=
'python__v1.18.0')),
398 testcases_file=
'python__v1.18.0')),
401 testcases_file=
'python__v1.18.0')),
404 testcases_file=
'python__v1.18.0')),
407 testcases_file=
'python__v1.41.1')),
410 testcases_file=
'python__v1.41.1')),
413 testcases_file=
'python__v1.41.1')),
416 testcases_file=
'python__master')),
419 testcases_file=
'python__master')),
423 (
'v1.0.1',
ReleaseInfo(testcases_file=
'node__v1.0.1')),
424 (
'v1.1.4',
ReleaseInfo(testcases_file=
'node__v1.1.4')),
425 (
'v1.2.5',
ReleaseInfo(testcases_file=
'node__v1.1.4')),
426 (
'v1.3.9',
ReleaseInfo(testcases_file=
'node__v1.1.4')),
427 (
'v1.4.2',
ReleaseInfo(testcases_file=
'node__v1.1.4')),
428 (
'v1.6.6',
ReleaseInfo(testcases_file=
'node__v1.1.4')),
441 'tools/dockerfile/interoptest/grpc_interop_ruby/Dockerfile',
442 'tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh',
444 testcases_file=
'ruby__v1.0.1')),
445 (
'v1.1.4',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
446 (
'v1.2.5',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
447 (
'v1.3.9',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
448 (
'v1.4.2',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
449 (
'v1.6.6',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
450 (
'v1.7.2',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
451 (
'v1.8.0',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
452 (
'v1.9.1',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
453 (
'v1.10.1',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
454 (
'v1.11.1',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
455 (
'v1.12.0',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
456 (
'v1.13.0',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
457 (
'v1.14.1',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
458 (
'v1.15.0',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
459 (
'v1.16.0',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
460 (
'v1.17.1',
ReleaseInfo(testcases_file=
'ruby__v1.1.4')),
463 'tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh',
496 (
'v1.0.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
497 (
'v1.1.4',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
498 (
'v1.2.5',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
499 (
'v1.3.9',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
500 (
'v1.4.2',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
501 (
'v1.6.6',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
502 (
'v1.7.2',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
503 (
'v1.8.0',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
504 (
'v1.9.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
505 (
'v1.10.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
506 (
'v1.11.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
507 (
'v1.12.0',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
508 (
'v1.13.0',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
509 (
'v1.14.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
510 (
'v1.15.0',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
511 (
'v1.16.0',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
512 (
'v1.17.1',
ReleaseInfo(testcases_file=
'php__v1.0.1')),
544 'tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile',
545 'tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile',
547 testcases_file=
'csharp__v1.1.4')),
548 (
'v1.1.4',
ReleaseInfo(testcases_file=
'csharp__v1.1.4')),
549 (
'v1.2.5',
ReleaseInfo(testcases_file=
'csharp__v1.1.4')),
550 (
'v1.3.9',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
551 (
'v1.4.2',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
552 (
'v1.6.6',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
553 (
'v1.7.2',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
554 (
'v1.8.0',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
555 (
'v1.9.1',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
556 (
'v1.10.1',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
557 (
'v1.11.1',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
558 (
'v1.12.0',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
559 (
'v1.13.0',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
560 (
'v1.14.1',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
561 (
'v1.15.0',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
562 (
'v1.16.0',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
563 (
'v1.17.1',
ReleaseInfo(testcases_file=
'csharp__v1.3.9')),
564 (
'v1.18.0',
ReleaseInfo(testcases_file=
'csharp__v1.18.0')),
565 (
'v1.19.0',
ReleaseInfo(testcases_file=
'csharp__v1.18.0')),
566 (
'v1.20.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
567 (
'v1.20.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
568 (
'v1.21.4',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
569 (
'v1.22.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
570 (
'v1.22.1',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
571 (
'v1.23.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
572 (
'v1.24.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
573 (
'v1.25.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
574 (
'v1.26.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
575 (
'v1.27.3',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
576 (
'v1.30.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
577 (
'v1.31.1',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
578 (
'v1.32.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
579 (
'v1.33.2',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
580 (
'v1.34.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
581 (
'v1.35.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
582 (
'v1.36.3',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
583 (
'v1.37.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
584 (
'v1.38.1',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
585 (
'v1.39.1',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
586 (
'v1.41.1',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),
587 (
'v1.42.0',
ReleaseInfo(testcases_file=
'csharp__v1.20.0')),