xref: /aosp_15_r20/external/grpc-grpc/tools/interop_matrix/client_matrix.py (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2017 gRPC authors.
2*cc02d7e2SAndroid Build Coastguard Worker#
3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*cc02d7e2SAndroid Build Coastguard Worker#
7*cc02d7e2SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License.
14*cc02d7e2SAndroid Build Coastguard Worker
15*cc02d7e2SAndroid Build Coastguard Worker# Defines languages, runtimes and releases for backward compatibility testing
16*cc02d7e2SAndroid Build Coastguard Worker
17*cc02d7e2SAndroid Build Coastguard Workerfrom collections import OrderedDict
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Worker
20*cc02d7e2SAndroid Build Coastguard Workerdef get_github_repo(lang):
21*cc02d7e2SAndroid Build Coastguard Worker    return {
22*cc02d7e2SAndroid Build Coastguard Worker        "dart": "https://github.com/grpc/grpc-dart.git",
23*cc02d7e2SAndroid Build Coastguard Worker        "go": "https://github.com/grpc/grpc-go.git",
24*cc02d7e2SAndroid Build Coastguard Worker        "java": "https://github.com/grpc/grpc-java.git",
25*cc02d7e2SAndroid Build Coastguard Worker        "node": "https://github.com/grpc/grpc-node.git",
26*cc02d7e2SAndroid Build Coastguard Worker        # all other languages use the grpc.git repo.
27*cc02d7e2SAndroid Build Coastguard Worker    }.get(lang, "https://github.com/grpc/grpc.git")
28*cc02d7e2SAndroid Build Coastguard Worker
29*cc02d7e2SAndroid Build Coastguard Worker
30*cc02d7e2SAndroid Build Coastguard Workerdef get_release_tags(lang):
31*cc02d7e2SAndroid Build Coastguard Worker    """Returns list of known releases for given language."""
32*cc02d7e2SAndroid Build Coastguard Worker    return list(LANG_RELEASE_MATRIX[lang].keys())
33*cc02d7e2SAndroid Build Coastguard Worker
34*cc02d7e2SAndroid Build Coastguard Worker
35*cc02d7e2SAndroid Build Coastguard Workerdef get_runtimes_for_lang_release(lang, release):
36*cc02d7e2SAndroid Build Coastguard Worker    """Get list of valid runtimes for given release of lang."""
37*cc02d7e2SAndroid Build Coastguard Worker    runtimes = list(LANG_RUNTIME_MATRIX[lang])
38*cc02d7e2SAndroid Build Coastguard Worker    release_info = LANG_RELEASE_MATRIX[lang].get(release)
39*cc02d7e2SAndroid Build Coastguard Worker    if release_info and release_info.runtimes:
40*cc02d7e2SAndroid Build Coastguard Worker        runtimes = list(release_info.runtimes)
41*cc02d7e2SAndroid Build Coastguard Worker    return runtimes
42*cc02d7e2SAndroid Build Coastguard Worker
43*cc02d7e2SAndroid Build Coastguard Worker
44*cc02d7e2SAndroid Build Coastguard Workerdef should_build_docker_interop_image_from_release_tag(lang):
45*cc02d7e2SAndroid Build Coastguard Worker    # All dockerfile definitions live in grpc/grpc repository.
46*cc02d7e2SAndroid Build Coastguard Worker    # For language that have a separate repo, we need to use
47*cc02d7e2SAndroid Build Coastguard Worker    # dockerfile definitions from head of grpc/grpc.
48*cc02d7e2SAndroid Build Coastguard Worker    if lang in ["go", "java", "node"]:
49*cc02d7e2SAndroid Build Coastguard Worker        return False
50*cc02d7e2SAndroid Build Coastguard Worker    return True
51*cc02d7e2SAndroid Build Coastguard Worker
52*cc02d7e2SAndroid Build Coastguard Worker
53*cc02d7e2SAndroid Build Coastguard Worker# Dictionary of default runtimes per language
54*cc02d7e2SAndroid Build Coastguard WorkerLANG_RUNTIME_MATRIX = {
55*cc02d7e2SAndroid Build Coastguard Worker    "cxx": ["cxx"],  # This is actually debian8.
56*cc02d7e2SAndroid Build Coastguard Worker    "go": ["go1.8", "go1.11", "go1.16", "go1.19"],
57*cc02d7e2SAndroid Build Coastguard Worker    "java": ["java"],
58*cc02d7e2SAndroid Build Coastguard Worker    "python": ["python", "pythonasyncio"],
59*cc02d7e2SAndroid Build Coastguard Worker    "node": ["node"],
60*cc02d7e2SAndroid Build Coastguard Worker    "ruby": ["ruby"],
61*cc02d7e2SAndroid Build Coastguard Worker    "php": ["php7"],
62*cc02d7e2SAndroid Build Coastguard Worker    "csharp": ["csharp", "csharpcoreclr"],
63*cc02d7e2SAndroid Build Coastguard Worker}
64*cc02d7e2SAndroid Build Coastguard Worker
65*cc02d7e2SAndroid Build Coastguard Worker
66*cc02d7e2SAndroid Build Coastguard Workerclass ReleaseInfo:
67*cc02d7e2SAndroid Build Coastguard Worker    """Info about a single release of a language"""
68*cc02d7e2SAndroid Build Coastguard Worker
69*cc02d7e2SAndroid Build Coastguard Worker    def __init__(self, patch=[], runtimes=[], testcases_file=None):
70*cc02d7e2SAndroid Build Coastguard Worker        self.patch = patch
71*cc02d7e2SAndroid Build Coastguard Worker        self.runtimes = runtimes
72*cc02d7e2SAndroid Build Coastguard Worker        self.testcases_file = testcases_file
73*cc02d7e2SAndroid Build Coastguard Worker
74*cc02d7e2SAndroid Build Coastguard Worker
75*cc02d7e2SAndroid Build Coastguard Worker# Dictionary of known releases for given language.
76*cc02d7e2SAndroid Build Coastguard WorkerLANG_RELEASE_MATRIX = {
77*cc02d7e2SAndroid Build Coastguard Worker    "cxx": OrderedDict(
78*cc02d7e2SAndroid Build Coastguard Worker        [
79*cc02d7e2SAndroid Build Coastguard Worker            ("v1.0.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
80*cc02d7e2SAndroid Build Coastguard Worker            ("v1.1.4", ReleaseInfo(testcases_file="cxx__v1.0.1")),
81*cc02d7e2SAndroid Build Coastguard Worker            ("v1.2.5", ReleaseInfo(testcases_file="cxx__v1.0.1")),
82*cc02d7e2SAndroid Build Coastguard Worker            ("v1.3.9", ReleaseInfo(testcases_file="cxx__v1.0.1")),
83*cc02d7e2SAndroid Build Coastguard Worker            ("v1.4.2", ReleaseInfo(testcases_file="cxx__v1.0.1")),
84*cc02d7e2SAndroid Build Coastguard Worker            ("v1.6.6", ReleaseInfo(testcases_file="cxx__v1.0.1")),
85*cc02d7e2SAndroid Build Coastguard Worker            ("v1.7.2", ReleaseInfo(testcases_file="cxx__v1.0.1")),
86*cc02d7e2SAndroid Build Coastguard Worker            ("v1.8.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
87*cc02d7e2SAndroid Build Coastguard Worker            ("v1.9.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
88*cc02d7e2SAndroid Build Coastguard Worker            ("v1.10.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
89*cc02d7e2SAndroid Build Coastguard Worker            ("v1.11.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
90*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
91*cc02d7e2SAndroid Build Coastguard Worker            ("v1.13.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
92*cc02d7e2SAndroid Build Coastguard Worker            ("v1.14.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
93*cc02d7e2SAndroid Build Coastguard Worker            ("v1.15.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
94*cc02d7e2SAndroid Build Coastguard Worker            ("v1.16.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
95*cc02d7e2SAndroid Build Coastguard Worker            ("v1.17.1", ReleaseInfo(testcases_file="cxx__v1.0.1")),
96*cc02d7e2SAndroid Build Coastguard Worker            ("v1.18.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
97*cc02d7e2SAndroid Build Coastguard Worker            ("v1.19.0", ReleaseInfo(testcases_file="cxx__v1.0.1")),
98*cc02d7e2SAndroid Build Coastguard Worker            ("v1.20.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
99*cc02d7e2SAndroid Build Coastguard Worker            ("v1.21.4", ReleaseInfo(testcases_file="cxx__v1.31.1")),
100*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
101*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.1", ReleaseInfo(testcases_file="cxx__v1.31.1")),
102*cc02d7e2SAndroid Build Coastguard Worker            ("v1.23.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
103*cc02d7e2SAndroid Build Coastguard Worker            ("v1.24.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
104*cc02d7e2SAndroid Build Coastguard Worker            ("v1.25.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
105*cc02d7e2SAndroid Build Coastguard Worker            ("v1.26.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
106*cc02d7e2SAndroid Build Coastguard Worker            ("v1.27.3", ReleaseInfo(testcases_file="cxx__v1.31.1")),
107*cc02d7e2SAndroid Build Coastguard Worker            ("v1.30.0", ReleaseInfo(testcases_file="cxx__v1.31.1")),
108*cc02d7e2SAndroid Build Coastguard Worker            ("v1.31.1", ReleaseInfo(testcases_file="cxx__v1.31.1")),
109*cc02d7e2SAndroid Build Coastguard Worker            ("v1.32.0", ReleaseInfo()),
110*cc02d7e2SAndroid Build Coastguard Worker            ("v1.33.2", ReleaseInfo()),
111*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.0", ReleaseInfo()),
112*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.0", ReleaseInfo()),
113*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.3", ReleaseInfo()),
114*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.0", ReleaseInfo()),
115*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.0", ReleaseInfo()),
116*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.0", ReleaseInfo()),
117*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.1", ReleaseInfo()),
118*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.0", ReleaseInfo()),
119*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.0", ReleaseInfo()),
120*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.0", ReleaseInfo()),
121*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.2", ReleaseInfo()),
122*cc02d7e2SAndroid Build Coastguard Worker            ("v1.47.1", ReleaseInfo()),
123*cc02d7e2SAndroid Build Coastguard Worker            ("v1.48.3", ReleaseInfo()),
124*cc02d7e2SAndroid Build Coastguard Worker            ("v1.49.1", ReleaseInfo()),
125*cc02d7e2SAndroid Build Coastguard Worker            ("v1.52.0", ReleaseInfo()),
126*cc02d7e2SAndroid Build Coastguard Worker            ("v1.53.0", ReleaseInfo()),
127*cc02d7e2SAndroid Build Coastguard Worker            ("v1.54.0", ReleaseInfo()),
128*cc02d7e2SAndroid Build Coastguard Worker            ("v1.55.0", ReleaseInfo()),
129*cc02d7e2SAndroid Build Coastguard Worker            ("v1.56.0", ReleaseInfo()),
130*cc02d7e2SAndroid Build Coastguard Worker            ("v1.57.0", ReleaseInfo()),
131*cc02d7e2SAndroid Build Coastguard Worker            ("v1.58.0", ReleaseInfo()),
132*cc02d7e2SAndroid Build Coastguard Worker            ("v1.60.0", ReleaseInfo()),
133*cc02d7e2SAndroid Build Coastguard Worker            ("v1.61.0", ReleaseInfo()),
134*cc02d7e2SAndroid Build Coastguard Worker            ("v1.62.0", ReleaseInfo()),
135*cc02d7e2SAndroid Build Coastguard Worker        ]
136*cc02d7e2SAndroid Build Coastguard Worker    ),
137*cc02d7e2SAndroid Build Coastguard Worker    "go": OrderedDict(
138*cc02d7e2SAndroid Build Coastguard Worker        [
139*cc02d7e2SAndroid Build Coastguard Worker            (
140*cc02d7e2SAndroid Build Coastguard Worker                "v1.0.5",
141*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
142*cc02d7e2SAndroid Build Coastguard Worker            ),
143*cc02d7e2SAndroid Build Coastguard Worker            (
144*cc02d7e2SAndroid Build Coastguard Worker                "v1.2.1",
145*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
146*cc02d7e2SAndroid Build Coastguard Worker            ),
147*cc02d7e2SAndroid Build Coastguard Worker            (
148*cc02d7e2SAndroid Build Coastguard Worker                "v1.3.0",
149*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
150*cc02d7e2SAndroid Build Coastguard Worker            ),
151*cc02d7e2SAndroid Build Coastguard Worker            (
152*cc02d7e2SAndroid Build Coastguard Worker                "v1.4.2",
153*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
154*cc02d7e2SAndroid Build Coastguard Worker            ),
155*cc02d7e2SAndroid Build Coastguard Worker            (
156*cc02d7e2SAndroid Build Coastguard Worker                "v1.5.2",
157*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
158*cc02d7e2SAndroid Build Coastguard Worker            ),
159*cc02d7e2SAndroid Build Coastguard Worker            (
160*cc02d7e2SAndroid Build Coastguard Worker                "v1.6.0",
161*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
162*cc02d7e2SAndroid Build Coastguard Worker            ),
163*cc02d7e2SAndroid Build Coastguard Worker            (
164*cc02d7e2SAndroid Build Coastguard Worker                "v1.7.4",
165*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
166*cc02d7e2SAndroid Build Coastguard Worker            ),
167*cc02d7e2SAndroid Build Coastguard Worker            (
168*cc02d7e2SAndroid Build Coastguard Worker                "v1.8.2",
169*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
170*cc02d7e2SAndroid Build Coastguard Worker            ),
171*cc02d7e2SAndroid Build Coastguard Worker            (
172*cc02d7e2SAndroid Build Coastguard Worker                "v1.9.2",
173*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
174*cc02d7e2SAndroid Build Coastguard Worker            ),
175*cc02d7e2SAndroid Build Coastguard Worker            (
176*cc02d7e2SAndroid Build Coastguard Worker                "v1.10.1",
177*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
178*cc02d7e2SAndroid Build Coastguard Worker            ),
179*cc02d7e2SAndroid Build Coastguard Worker            (
180*cc02d7e2SAndroid Build Coastguard Worker                "v1.11.3",
181*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
182*cc02d7e2SAndroid Build Coastguard Worker            ),
183*cc02d7e2SAndroid Build Coastguard Worker            (
184*cc02d7e2SAndroid Build Coastguard Worker                "v1.12.2",
185*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
186*cc02d7e2SAndroid Build Coastguard Worker            ),
187*cc02d7e2SAndroid Build Coastguard Worker            (
188*cc02d7e2SAndroid Build Coastguard Worker                "v1.13.0",
189*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
190*cc02d7e2SAndroid Build Coastguard Worker            ),
191*cc02d7e2SAndroid Build Coastguard Worker            (
192*cc02d7e2SAndroid Build Coastguard Worker                "v1.14.0",
193*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
194*cc02d7e2SAndroid Build Coastguard Worker            ),
195*cc02d7e2SAndroid Build Coastguard Worker            (
196*cc02d7e2SAndroid Build Coastguard Worker                "v1.15.0",
197*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
198*cc02d7e2SAndroid Build Coastguard Worker            ),
199*cc02d7e2SAndroid Build Coastguard Worker            (
200*cc02d7e2SAndroid Build Coastguard Worker                "v1.16.0",
201*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.8"], testcases_file="go__v1.0.5"),
202*cc02d7e2SAndroid Build Coastguard Worker            ),
203*cc02d7e2SAndroid Build Coastguard Worker            (
204*cc02d7e2SAndroid Build Coastguard Worker                "v1.17.0",
205*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.0.5"),
206*cc02d7e2SAndroid Build Coastguard Worker            ),
207*cc02d7e2SAndroid Build Coastguard Worker            (
208*cc02d7e2SAndroid Build Coastguard Worker                "v1.18.0",
209*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.0.5"),
210*cc02d7e2SAndroid Build Coastguard Worker            ),
211*cc02d7e2SAndroid Build Coastguard Worker            (
212*cc02d7e2SAndroid Build Coastguard Worker                "v1.19.0",
213*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.0.5"),
214*cc02d7e2SAndroid Build Coastguard Worker            ),
215*cc02d7e2SAndroid Build Coastguard Worker            (
216*cc02d7e2SAndroid Build Coastguard Worker                "v1.20.0",
217*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
218*cc02d7e2SAndroid Build Coastguard Worker            ),
219*cc02d7e2SAndroid Build Coastguard Worker            (
220*cc02d7e2SAndroid Build Coastguard Worker                "v1.21.3",
221*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
222*cc02d7e2SAndroid Build Coastguard Worker            ),
223*cc02d7e2SAndroid Build Coastguard Worker            (
224*cc02d7e2SAndroid Build Coastguard Worker                "v1.22.3",
225*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
226*cc02d7e2SAndroid Build Coastguard Worker            ),
227*cc02d7e2SAndroid Build Coastguard Worker            (
228*cc02d7e2SAndroid Build Coastguard Worker                "v1.23.1",
229*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
230*cc02d7e2SAndroid Build Coastguard Worker            ),
231*cc02d7e2SAndroid Build Coastguard Worker            (
232*cc02d7e2SAndroid Build Coastguard Worker                "v1.24.0",
233*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
234*cc02d7e2SAndroid Build Coastguard Worker            ),
235*cc02d7e2SAndroid Build Coastguard Worker            (
236*cc02d7e2SAndroid Build Coastguard Worker                "v1.25.0",
237*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
238*cc02d7e2SAndroid Build Coastguard Worker            ),
239*cc02d7e2SAndroid Build Coastguard Worker            (
240*cc02d7e2SAndroid Build Coastguard Worker                "v1.26.0",
241*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
242*cc02d7e2SAndroid Build Coastguard Worker            ),
243*cc02d7e2SAndroid Build Coastguard Worker            (
244*cc02d7e2SAndroid Build Coastguard Worker                "v1.27.1",
245*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
246*cc02d7e2SAndroid Build Coastguard Worker            ),
247*cc02d7e2SAndroid Build Coastguard Worker            (
248*cc02d7e2SAndroid Build Coastguard Worker                "v1.28.0",
249*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
250*cc02d7e2SAndroid Build Coastguard Worker            ),
251*cc02d7e2SAndroid Build Coastguard Worker            (
252*cc02d7e2SAndroid Build Coastguard Worker                "v1.29.0",
253*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
254*cc02d7e2SAndroid Build Coastguard Worker            ),
255*cc02d7e2SAndroid Build Coastguard Worker            (
256*cc02d7e2SAndroid Build Coastguard Worker                "v1.30.0",
257*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
258*cc02d7e2SAndroid Build Coastguard Worker            ),
259*cc02d7e2SAndroid Build Coastguard Worker            (
260*cc02d7e2SAndroid Build Coastguard Worker                "v1.31.1",
261*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
262*cc02d7e2SAndroid Build Coastguard Worker            ),
263*cc02d7e2SAndroid Build Coastguard Worker            (
264*cc02d7e2SAndroid Build Coastguard Worker                "v1.32.0",
265*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
266*cc02d7e2SAndroid Build Coastguard Worker            ),
267*cc02d7e2SAndroid Build Coastguard Worker            (
268*cc02d7e2SAndroid Build Coastguard Worker                "v1.33.1",
269*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(runtimes=["go1.11"], testcases_file="go__v1.20.0"),
270*cc02d7e2SAndroid Build Coastguard Worker            ),
271*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.0", ReleaseInfo(runtimes=["go1.11"])),
272*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.0", ReleaseInfo(runtimes=["go1.11"])),
273*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.0", ReleaseInfo(runtimes=["go1.11"])),
274*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.0", ReleaseInfo(runtimes=["go1.11"])),
275*cc02d7e2SAndroid Build Coastguard Worker            # NOTE: starting from release v1.38.0, use runtimes=['go1.16']
276*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.1", ReleaseInfo(runtimes=["go1.16"])),
277*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.1", ReleaseInfo(runtimes=["go1.16"])),
278*cc02d7e2SAndroid Build Coastguard Worker            ("v1.40.0", ReleaseInfo(runtimes=["go1.16"])),
279*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.0", ReleaseInfo(runtimes=["go1.16"])),
280*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.0", ReleaseInfo(runtimes=["go1.16"])),
281*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.0", ReleaseInfo(runtimes=["go1.16"])),
282*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.0", ReleaseInfo(runtimes=["go1.16"])),
283*cc02d7e2SAndroid Build Coastguard Worker            ("v1.45.0", ReleaseInfo(runtimes=["go1.16"])),
284*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.0", ReleaseInfo(runtimes=["go1.16"])),
285*cc02d7e2SAndroid Build Coastguard Worker            ("v1.47.0", ReleaseInfo(runtimes=["go1.16"])),
286*cc02d7e2SAndroid Build Coastguard Worker            ("v1.48.0", ReleaseInfo(runtimes=["go1.16"])),
287*cc02d7e2SAndroid Build Coastguard Worker            ("v1.49.0", ReleaseInfo(runtimes=["go1.16"])),
288*cc02d7e2SAndroid Build Coastguard Worker            ("v1.50.1", ReleaseInfo(runtimes=["go1.16"])),
289*cc02d7e2SAndroid Build Coastguard Worker            ("v1.51.0", ReleaseInfo(runtimes=["go1.16"])),
290*cc02d7e2SAndroid Build Coastguard Worker            ("v1.52.3", ReleaseInfo(runtimes=["go1.19"])),
291*cc02d7e2SAndroid Build Coastguard Worker            ("v1.53.0", ReleaseInfo(runtimes=["go1.19"])),
292*cc02d7e2SAndroid Build Coastguard Worker            ("v1.54.1", ReleaseInfo(runtimes=["go1.19"])),
293*cc02d7e2SAndroid Build Coastguard Worker            ("v1.55.0", ReleaseInfo(runtimes=["go1.19"])),
294*cc02d7e2SAndroid Build Coastguard Worker            ("v1.56.3", ReleaseInfo(runtimes=["go1.19"])),
295*cc02d7e2SAndroid Build Coastguard Worker            ("v1.57.2", ReleaseInfo(runtimes=["go1.19"])),
296*cc02d7e2SAndroid Build Coastguard Worker            ("v1.58.3", ReleaseInfo(runtimes=["go1.19"])),
297*cc02d7e2SAndroid Build Coastguard Worker            ("v1.59.0", ReleaseInfo(runtimes=["go1.19"])),
298*cc02d7e2SAndroid Build Coastguard Worker            ("v1.60.1", ReleaseInfo(runtimes=["go1.19"])),
299*cc02d7e2SAndroid Build Coastguard Worker            ("v1.61.2", ReleaseInfo(runtimes=["go1.19"])),
300*cc02d7e2SAndroid Build Coastguard Worker            ("v1.62.2", ReleaseInfo(runtimes=["go1.19"])),
301*cc02d7e2SAndroid Build Coastguard Worker            ("v1.63.2", ReleaseInfo(runtimes=["go1.19"])),
302*cc02d7e2SAndroid Build Coastguard Worker        ]
303*cc02d7e2SAndroid Build Coastguard Worker    ),
304*cc02d7e2SAndroid Build Coastguard Worker    "java": OrderedDict(
305*cc02d7e2SAndroid Build Coastguard Worker        [
306*cc02d7e2SAndroid Build Coastguard Worker            (
307*cc02d7e2SAndroid Build Coastguard Worker                "v1.0.3",
308*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
309*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
310*cc02d7e2SAndroid Build Coastguard Worker                ),
311*cc02d7e2SAndroid Build Coastguard Worker            ),
312*cc02d7e2SAndroid Build Coastguard Worker            (
313*cc02d7e2SAndroid Build Coastguard Worker                "v1.1.2",
314*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
315*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
316*cc02d7e2SAndroid Build Coastguard Worker                ),
317*cc02d7e2SAndroid Build Coastguard Worker            ),
318*cc02d7e2SAndroid Build Coastguard Worker            (
319*cc02d7e2SAndroid Build Coastguard Worker                "v1.2.0",
320*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
321*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
322*cc02d7e2SAndroid Build Coastguard Worker                ),
323*cc02d7e2SAndroid Build Coastguard Worker            ),
324*cc02d7e2SAndroid Build Coastguard Worker            (
325*cc02d7e2SAndroid Build Coastguard Worker                "v1.3.1",
326*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
327*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
328*cc02d7e2SAndroid Build Coastguard Worker                ),
329*cc02d7e2SAndroid Build Coastguard Worker            ),
330*cc02d7e2SAndroid Build Coastguard Worker            (
331*cc02d7e2SAndroid Build Coastguard Worker                "v1.4.0",
332*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
333*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
334*cc02d7e2SAndroid Build Coastguard Worker                ),
335*cc02d7e2SAndroid Build Coastguard Worker            ),
336*cc02d7e2SAndroid Build Coastguard Worker            (
337*cc02d7e2SAndroid Build Coastguard Worker                "v1.5.0",
338*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
339*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
340*cc02d7e2SAndroid Build Coastguard Worker                ),
341*cc02d7e2SAndroid Build Coastguard Worker            ),
342*cc02d7e2SAndroid Build Coastguard Worker            (
343*cc02d7e2SAndroid Build Coastguard Worker                "v1.6.1",
344*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
345*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
346*cc02d7e2SAndroid Build Coastguard Worker                ),
347*cc02d7e2SAndroid Build Coastguard Worker            ),
348*cc02d7e2SAndroid Build Coastguard Worker            ("v1.7.1", ReleaseInfo(testcases_file="java__v1.0.3")),
349*cc02d7e2SAndroid Build Coastguard Worker            (
350*cc02d7e2SAndroid Build Coastguard Worker                "v1.8.0",
351*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
352*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
353*cc02d7e2SAndroid Build Coastguard Worker                ),
354*cc02d7e2SAndroid Build Coastguard Worker            ),
355*cc02d7e2SAndroid Build Coastguard Worker            (
356*cc02d7e2SAndroid Build Coastguard Worker                "v1.9.1",
357*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
358*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
359*cc02d7e2SAndroid Build Coastguard Worker                ),
360*cc02d7e2SAndroid Build Coastguard Worker            ),
361*cc02d7e2SAndroid Build Coastguard Worker            (
362*cc02d7e2SAndroid Build Coastguard Worker                "v1.10.1",
363*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
364*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
365*cc02d7e2SAndroid Build Coastguard Worker                ),
366*cc02d7e2SAndroid Build Coastguard Worker            ),
367*cc02d7e2SAndroid Build Coastguard Worker            (
368*cc02d7e2SAndroid Build Coastguard Worker                "v1.11.0",
369*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
370*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
371*cc02d7e2SAndroid Build Coastguard Worker                ),
372*cc02d7e2SAndroid Build Coastguard Worker            ),
373*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.1", ReleaseInfo(testcases_file="java__v1.0.3")),
374*cc02d7e2SAndroid Build Coastguard Worker            ("v1.13.2", ReleaseInfo(testcases_file="java__v1.0.3")),
375*cc02d7e2SAndroid Build Coastguard Worker            (
376*cc02d7e2SAndroid Build Coastguard Worker                "v1.14.0",
377*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
378*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
379*cc02d7e2SAndroid Build Coastguard Worker                ),
380*cc02d7e2SAndroid Build Coastguard Worker            ),
381*cc02d7e2SAndroid Build Coastguard Worker            ("v1.15.1", ReleaseInfo(testcases_file="java__v1.0.3")),
382*cc02d7e2SAndroid Build Coastguard Worker            (
383*cc02d7e2SAndroid Build Coastguard Worker                "v1.16.1",
384*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
385*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
386*cc02d7e2SAndroid Build Coastguard Worker                ),
387*cc02d7e2SAndroid Build Coastguard Worker            ),
388*cc02d7e2SAndroid Build Coastguard Worker            ("v1.17.2", ReleaseInfo(testcases_file="java__v1.0.3")),
389*cc02d7e2SAndroid Build Coastguard Worker            (
390*cc02d7e2SAndroid Build Coastguard Worker                "v1.18.0",
391*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
392*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
393*cc02d7e2SAndroid Build Coastguard Worker                ),
394*cc02d7e2SAndroid Build Coastguard Worker            ),
395*cc02d7e2SAndroid Build Coastguard Worker            (
396*cc02d7e2SAndroid Build Coastguard Worker                "v1.19.0",
397*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
398*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["java_oracle8"], testcases_file="java__v1.0.3"
399*cc02d7e2SAndroid Build Coastguard Worker                ),
400*cc02d7e2SAndroid Build Coastguard Worker            ),
401*cc02d7e2SAndroid Build Coastguard Worker            ("v1.20.0", ReleaseInfo(runtimes=["java_oracle8"])),
402*cc02d7e2SAndroid Build Coastguard Worker            ("v1.21.1", ReleaseInfo()),
403*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.2", ReleaseInfo()),
404*cc02d7e2SAndroid Build Coastguard Worker            ("v1.23.0", ReleaseInfo()),
405*cc02d7e2SAndroid Build Coastguard Worker            ("v1.24.0", ReleaseInfo()),
406*cc02d7e2SAndroid Build Coastguard Worker            ("v1.25.0", ReleaseInfo()),
407*cc02d7e2SAndroid Build Coastguard Worker            ("v1.26.1", ReleaseInfo()),
408*cc02d7e2SAndroid Build Coastguard Worker            ("v1.27.2", ReleaseInfo()),
409*cc02d7e2SAndroid Build Coastguard Worker            ("v1.28.1", ReleaseInfo()),
410*cc02d7e2SAndroid Build Coastguard Worker            ("v1.29.0", ReleaseInfo()),
411*cc02d7e2SAndroid Build Coastguard Worker            ("v1.30.2", ReleaseInfo()),
412*cc02d7e2SAndroid Build Coastguard Worker            ("v1.31.2", ReleaseInfo()),
413*cc02d7e2SAndroid Build Coastguard Worker            ("v1.32.3", ReleaseInfo()),
414*cc02d7e2SAndroid Build Coastguard Worker            ("v1.33.1", ReleaseInfo()),
415*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.1", ReleaseInfo()),
416*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.1", ReleaseInfo()),
417*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.3", ReleaseInfo()),
418*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.1", ReleaseInfo()),
419*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.1", ReleaseInfo()),
420*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.0", ReleaseInfo()),
421*cc02d7e2SAndroid Build Coastguard Worker            ("v1.40.2", ReleaseInfo()),
422*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.3", ReleaseInfo()),
423*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.3", ReleaseInfo()),
424*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.3", ReleaseInfo()),
425*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.2", ReleaseInfo()),
426*cc02d7e2SAndroid Build Coastguard Worker            ("v1.45.4", ReleaseInfo()),
427*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.1", ReleaseInfo()),
428*cc02d7e2SAndroid Build Coastguard Worker            ("v1.47.1", ReleaseInfo()),
429*cc02d7e2SAndroid Build Coastguard Worker            ("v1.48.2", ReleaseInfo()),
430*cc02d7e2SAndroid Build Coastguard Worker            ("v1.49.2", ReleaseInfo()),
431*cc02d7e2SAndroid Build Coastguard Worker            ("v1.50.3", ReleaseInfo()),
432*cc02d7e2SAndroid Build Coastguard Worker            ("v1.51.3", ReleaseInfo()),
433*cc02d7e2SAndroid Build Coastguard Worker            ("v1.52.1", ReleaseInfo()),
434*cc02d7e2SAndroid Build Coastguard Worker            ("v1.53.0", ReleaseInfo()),
435*cc02d7e2SAndroid Build Coastguard Worker            ("v1.54.0", ReleaseInfo()),
436*cc02d7e2SAndroid Build Coastguard Worker            ("v1.55.1", ReleaseInfo()),
437*cc02d7e2SAndroid Build Coastguard Worker            ("v1.56.0", ReleaseInfo()),
438*cc02d7e2SAndroid Build Coastguard Worker            ("v1.57.2", ReleaseInfo()),
439*cc02d7e2SAndroid Build Coastguard Worker            ("v1.58.0", ReleaseInfo()),
440*cc02d7e2SAndroid Build Coastguard Worker            ("v1.59.1", ReleaseInfo()),
441*cc02d7e2SAndroid Build Coastguard Worker            ("v1.60.1", ReleaseInfo()),
442*cc02d7e2SAndroid Build Coastguard Worker            ("v1.61.0", ReleaseInfo()),
443*cc02d7e2SAndroid Build Coastguard Worker            ("v1.63.0", ReleaseInfo()),
444*cc02d7e2SAndroid Build Coastguard Worker        ]
445*cc02d7e2SAndroid Build Coastguard Worker    ),
446*cc02d7e2SAndroid Build Coastguard Worker    "python": OrderedDict(
447*cc02d7e2SAndroid Build Coastguard Worker        [
448*cc02d7e2SAndroid Build Coastguard Worker            (
449*cc02d7e2SAndroid Build Coastguard Worker                "v1.0.x",
450*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
451*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
452*cc02d7e2SAndroid Build Coastguard Worker                ),
453*cc02d7e2SAndroid Build Coastguard Worker            ),
454*cc02d7e2SAndroid Build Coastguard Worker            (
455*cc02d7e2SAndroid Build Coastguard Worker                "v1.1.4",
456*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
457*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
458*cc02d7e2SAndroid Build Coastguard Worker                ),
459*cc02d7e2SAndroid Build Coastguard Worker            ),
460*cc02d7e2SAndroid Build Coastguard Worker            (
461*cc02d7e2SAndroid Build Coastguard Worker                "v1.2.5",
462*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
463*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
464*cc02d7e2SAndroid Build Coastguard Worker                ),
465*cc02d7e2SAndroid Build Coastguard Worker            ),
466*cc02d7e2SAndroid Build Coastguard Worker            (
467*cc02d7e2SAndroid Build Coastguard Worker                "v1.3.9",
468*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
469*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
470*cc02d7e2SAndroid Build Coastguard Worker                ),
471*cc02d7e2SAndroid Build Coastguard Worker            ),
472*cc02d7e2SAndroid Build Coastguard Worker            (
473*cc02d7e2SAndroid Build Coastguard Worker                "v1.4.2",
474*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
475*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
476*cc02d7e2SAndroid Build Coastguard Worker                ),
477*cc02d7e2SAndroid Build Coastguard Worker            ),
478*cc02d7e2SAndroid Build Coastguard Worker            (
479*cc02d7e2SAndroid Build Coastguard Worker                "v1.6.6",
480*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
481*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
482*cc02d7e2SAndroid Build Coastguard Worker                ),
483*cc02d7e2SAndroid Build Coastguard Worker            ),
484*cc02d7e2SAndroid Build Coastguard Worker            (
485*cc02d7e2SAndroid Build Coastguard Worker                "v1.7.2",
486*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
487*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
488*cc02d7e2SAndroid Build Coastguard Worker                ),
489*cc02d7e2SAndroid Build Coastguard Worker            ),
490*cc02d7e2SAndroid Build Coastguard Worker            (
491*cc02d7e2SAndroid Build Coastguard Worker                "v1.8.1",
492*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
493*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
494*cc02d7e2SAndroid Build Coastguard Worker                ),
495*cc02d7e2SAndroid Build Coastguard Worker            ),
496*cc02d7e2SAndroid Build Coastguard Worker            (
497*cc02d7e2SAndroid Build Coastguard Worker                "v1.9.1",
498*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
499*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
500*cc02d7e2SAndroid Build Coastguard Worker                ),
501*cc02d7e2SAndroid Build Coastguard Worker            ),
502*cc02d7e2SAndroid Build Coastguard Worker            (
503*cc02d7e2SAndroid Build Coastguard Worker                "v1.10.1",
504*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
505*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.0.x"
506*cc02d7e2SAndroid Build Coastguard Worker                ),
507*cc02d7e2SAndroid Build Coastguard Worker            ),
508*cc02d7e2SAndroid Build Coastguard Worker            (
509*cc02d7e2SAndroid Build Coastguard Worker                "v1.11.1",
510*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
511*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
512*cc02d7e2SAndroid Build Coastguard Worker                ),
513*cc02d7e2SAndroid Build Coastguard Worker            ),
514*cc02d7e2SAndroid Build Coastguard Worker            (
515*cc02d7e2SAndroid Build Coastguard Worker                "v1.12.0",
516*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
517*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
518*cc02d7e2SAndroid Build Coastguard Worker                ),
519*cc02d7e2SAndroid Build Coastguard Worker            ),
520*cc02d7e2SAndroid Build Coastguard Worker            (
521*cc02d7e2SAndroid Build Coastguard Worker                "v1.13.0",
522*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
523*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
524*cc02d7e2SAndroid Build Coastguard Worker                ),
525*cc02d7e2SAndroid Build Coastguard Worker            ),
526*cc02d7e2SAndroid Build Coastguard Worker            (
527*cc02d7e2SAndroid Build Coastguard Worker                "v1.14.1",
528*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
529*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
530*cc02d7e2SAndroid Build Coastguard Worker                ),
531*cc02d7e2SAndroid Build Coastguard Worker            ),
532*cc02d7e2SAndroid Build Coastguard Worker            (
533*cc02d7e2SAndroid Build Coastguard Worker                "v1.15.0",
534*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
535*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
536*cc02d7e2SAndroid Build Coastguard Worker                ),
537*cc02d7e2SAndroid Build Coastguard Worker            ),
538*cc02d7e2SAndroid Build Coastguard Worker            (
539*cc02d7e2SAndroid Build Coastguard Worker                "v1.16.0",
540*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
541*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
542*cc02d7e2SAndroid Build Coastguard Worker                ),
543*cc02d7e2SAndroid Build Coastguard Worker            ),
544*cc02d7e2SAndroid Build Coastguard Worker            (
545*cc02d7e2SAndroid Build Coastguard Worker                "v1.17.1",
546*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
547*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.11.1"
548*cc02d7e2SAndroid Build Coastguard Worker                ),
549*cc02d7e2SAndroid Build Coastguard Worker            ),
550*cc02d7e2SAndroid Build Coastguard Worker            (
551*cc02d7e2SAndroid Build Coastguard Worker                "v1.18.0",
552*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
553*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
554*cc02d7e2SAndroid Build Coastguard Worker                ),
555*cc02d7e2SAndroid Build Coastguard Worker            ),
556*cc02d7e2SAndroid Build Coastguard Worker            (
557*cc02d7e2SAndroid Build Coastguard Worker                "v1.19.0",
558*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
559*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
560*cc02d7e2SAndroid Build Coastguard Worker                ),
561*cc02d7e2SAndroid Build Coastguard Worker            ),
562*cc02d7e2SAndroid Build Coastguard Worker            (
563*cc02d7e2SAndroid Build Coastguard Worker                "v1.20.0",
564*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
565*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
566*cc02d7e2SAndroid Build Coastguard Worker                ),
567*cc02d7e2SAndroid Build Coastguard Worker            ),
568*cc02d7e2SAndroid Build Coastguard Worker            (
569*cc02d7e2SAndroid Build Coastguard Worker                "v1.21.4",
570*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
571*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
572*cc02d7e2SAndroid Build Coastguard Worker                ),
573*cc02d7e2SAndroid Build Coastguard Worker            ),
574*cc02d7e2SAndroid Build Coastguard Worker            (
575*cc02d7e2SAndroid Build Coastguard Worker                "v1.22.0",
576*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
577*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
578*cc02d7e2SAndroid Build Coastguard Worker                ),
579*cc02d7e2SAndroid Build Coastguard Worker            ),
580*cc02d7e2SAndroid Build Coastguard Worker            (
581*cc02d7e2SAndroid Build Coastguard Worker                "v1.22.1",
582*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
583*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
584*cc02d7e2SAndroid Build Coastguard Worker                ),
585*cc02d7e2SAndroid Build Coastguard Worker            ),
586*cc02d7e2SAndroid Build Coastguard Worker            (
587*cc02d7e2SAndroid Build Coastguard Worker                "v1.23.0",
588*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
589*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
590*cc02d7e2SAndroid Build Coastguard Worker                ),
591*cc02d7e2SAndroid Build Coastguard Worker            ),
592*cc02d7e2SAndroid Build Coastguard Worker            (
593*cc02d7e2SAndroid Build Coastguard Worker                "v1.24.0",
594*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
595*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
596*cc02d7e2SAndroid Build Coastguard Worker                ),
597*cc02d7e2SAndroid Build Coastguard Worker            ),
598*cc02d7e2SAndroid Build Coastguard Worker            (
599*cc02d7e2SAndroid Build Coastguard Worker                "v1.25.0",
600*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
601*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
602*cc02d7e2SAndroid Build Coastguard Worker                ),
603*cc02d7e2SAndroid Build Coastguard Worker            ),
604*cc02d7e2SAndroid Build Coastguard Worker            (
605*cc02d7e2SAndroid Build Coastguard Worker                "v1.26.0",
606*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
607*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
608*cc02d7e2SAndroid Build Coastguard Worker                ),
609*cc02d7e2SAndroid Build Coastguard Worker            ),
610*cc02d7e2SAndroid Build Coastguard Worker            (
611*cc02d7e2SAndroid Build Coastguard Worker                "v1.27.3",
612*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
613*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
614*cc02d7e2SAndroid Build Coastguard Worker                ),
615*cc02d7e2SAndroid Build Coastguard Worker            ),
616*cc02d7e2SAndroid Build Coastguard Worker            (
617*cc02d7e2SAndroid Build Coastguard Worker                "v1.30.0",
618*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
619*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
620*cc02d7e2SAndroid Build Coastguard Worker                ),
621*cc02d7e2SAndroid Build Coastguard Worker            ),
622*cc02d7e2SAndroid Build Coastguard Worker            (
623*cc02d7e2SAndroid Build Coastguard Worker                "v1.31.1",
624*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
625*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
626*cc02d7e2SAndroid Build Coastguard Worker                ),
627*cc02d7e2SAndroid Build Coastguard Worker            ),
628*cc02d7e2SAndroid Build Coastguard Worker            (
629*cc02d7e2SAndroid Build Coastguard Worker                "v1.32.0",
630*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
631*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
632*cc02d7e2SAndroid Build Coastguard Worker                ),
633*cc02d7e2SAndroid Build Coastguard Worker            ),
634*cc02d7e2SAndroid Build Coastguard Worker            (
635*cc02d7e2SAndroid Build Coastguard Worker                "v1.33.2",
636*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
637*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
638*cc02d7e2SAndroid Build Coastguard Worker                ),
639*cc02d7e2SAndroid Build Coastguard Worker            ),
640*cc02d7e2SAndroid Build Coastguard Worker            (
641*cc02d7e2SAndroid Build Coastguard Worker                "v1.34.0",
642*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
643*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
644*cc02d7e2SAndroid Build Coastguard Worker                ),
645*cc02d7e2SAndroid Build Coastguard Worker            ),
646*cc02d7e2SAndroid Build Coastguard Worker            (
647*cc02d7e2SAndroid Build Coastguard Worker                "v1.35.0",
648*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
649*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
650*cc02d7e2SAndroid Build Coastguard Worker                ),
651*cc02d7e2SAndroid Build Coastguard Worker            ),
652*cc02d7e2SAndroid Build Coastguard Worker            (
653*cc02d7e2SAndroid Build Coastguard Worker                "v1.36.3",
654*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
655*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
656*cc02d7e2SAndroid Build Coastguard Worker                ),
657*cc02d7e2SAndroid Build Coastguard Worker            ),
658*cc02d7e2SAndroid Build Coastguard Worker            (
659*cc02d7e2SAndroid Build Coastguard Worker                "v1.37.0",
660*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
661*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
662*cc02d7e2SAndroid Build Coastguard Worker                ),
663*cc02d7e2SAndroid Build Coastguard Worker            ),
664*cc02d7e2SAndroid Build Coastguard Worker            (
665*cc02d7e2SAndroid Build Coastguard Worker                "v1.38.0",
666*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
667*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
668*cc02d7e2SAndroid Build Coastguard Worker                ),
669*cc02d7e2SAndroid Build Coastguard Worker            ),
670*cc02d7e2SAndroid Build Coastguard Worker            (
671*cc02d7e2SAndroid Build Coastguard Worker                "v1.39.0",
672*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
673*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.18.0"
674*cc02d7e2SAndroid Build Coastguard Worker                ),
675*cc02d7e2SAndroid Build Coastguard Worker            ),
676*cc02d7e2SAndroid Build Coastguard Worker            (
677*cc02d7e2SAndroid Build Coastguard Worker                "v1.41.1",
678*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
679*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.41.1"
680*cc02d7e2SAndroid Build Coastguard Worker                ),
681*cc02d7e2SAndroid Build Coastguard Worker            ),
682*cc02d7e2SAndroid Build Coastguard Worker            (
683*cc02d7e2SAndroid Build Coastguard Worker                "v1.42.0",
684*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
685*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.41.1"
686*cc02d7e2SAndroid Build Coastguard Worker                ),
687*cc02d7e2SAndroid Build Coastguard Worker            ),
688*cc02d7e2SAndroid Build Coastguard Worker            (
689*cc02d7e2SAndroid Build Coastguard Worker                "v1.43.2",
690*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
691*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__v1.41.1"
692*cc02d7e2SAndroid Build Coastguard Worker                ),
693*cc02d7e2SAndroid Build Coastguard Worker            ),
694*cc02d7e2SAndroid Build Coastguard Worker            (
695*cc02d7e2SAndroid Build Coastguard Worker                "v1.44.0",
696*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
697*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
698*cc02d7e2SAndroid Build Coastguard Worker                ),
699*cc02d7e2SAndroid Build Coastguard Worker            ),
700*cc02d7e2SAndroid Build Coastguard Worker            (
701*cc02d7e2SAndroid Build Coastguard Worker                "v1.46.2",
702*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
703*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
704*cc02d7e2SAndroid Build Coastguard Worker                ),
705*cc02d7e2SAndroid Build Coastguard Worker            ),
706*cc02d7e2SAndroid Build Coastguard Worker            (
707*cc02d7e2SAndroid Build Coastguard Worker                "v1.47.1",
708*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
709*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
710*cc02d7e2SAndroid Build Coastguard Worker                ),
711*cc02d7e2SAndroid Build Coastguard Worker            ),
712*cc02d7e2SAndroid Build Coastguard Worker            (
713*cc02d7e2SAndroid Build Coastguard Worker                "v1.48.3",
714*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
715*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
716*cc02d7e2SAndroid Build Coastguard Worker                ),
717*cc02d7e2SAndroid Build Coastguard Worker            ),
718*cc02d7e2SAndroid Build Coastguard Worker            (
719*cc02d7e2SAndroid Build Coastguard Worker                "v1.49.1",
720*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
721*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
722*cc02d7e2SAndroid Build Coastguard Worker                ),
723*cc02d7e2SAndroid Build Coastguard Worker            ),
724*cc02d7e2SAndroid Build Coastguard Worker            (
725*cc02d7e2SAndroid Build Coastguard Worker                "v1.52.0",
726*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
727*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
728*cc02d7e2SAndroid Build Coastguard Worker                ),
729*cc02d7e2SAndroid Build Coastguard Worker            ),
730*cc02d7e2SAndroid Build Coastguard Worker            (
731*cc02d7e2SAndroid Build Coastguard Worker                "v1.53.0",
732*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
733*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
734*cc02d7e2SAndroid Build Coastguard Worker                ),
735*cc02d7e2SAndroid Build Coastguard Worker            ),
736*cc02d7e2SAndroid Build Coastguard Worker            (
737*cc02d7e2SAndroid Build Coastguard Worker                "v1.54.0",
738*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
739*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
740*cc02d7e2SAndroid Build Coastguard Worker                ),
741*cc02d7e2SAndroid Build Coastguard Worker            ),
742*cc02d7e2SAndroid Build Coastguard Worker            (
743*cc02d7e2SAndroid Build Coastguard Worker                "v1.55.0",
744*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
745*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
746*cc02d7e2SAndroid Build Coastguard Worker                ),
747*cc02d7e2SAndroid Build Coastguard Worker            ),
748*cc02d7e2SAndroid Build Coastguard Worker            (
749*cc02d7e2SAndroid Build Coastguard Worker                "v1.56.0",
750*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
751*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
752*cc02d7e2SAndroid Build Coastguard Worker                ),
753*cc02d7e2SAndroid Build Coastguard Worker            ),
754*cc02d7e2SAndroid Build Coastguard Worker            (
755*cc02d7e2SAndroid Build Coastguard Worker                "v1.57.0",
756*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
757*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
758*cc02d7e2SAndroid Build Coastguard Worker                ),
759*cc02d7e2SAndroid Build Coastguard Worker            ),
760*cc02d7e2SAndroid Build Coastguard Worker            (
761*cc02d7e2SAndroid Build Coastguard Worker                "v1.58.0",
762*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
763*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
764*cc02d7e2SAndroid Build Coastguard Worker                ),
765*cc02d7e2SAndroid Build Coastguard Worker            ),
766*cc02d7e2SAndroid Build Coastguard Worker            (
767*cc02d7e2SAndroid Build Coastguard Worker                "v1.60.0",
768*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
769*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
770*cc02d7e2SAndroid Build Coastguard Worker                ),
771*cc02d7e2SAndroid Build Coastguard Worker            ),
772*cc02d7e2SAndroid Build Coastguard Worker            (
773*cc02d7e2SAndroid Build Coastguard Worker                "v1.61.0",
774*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
775*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
776*cc02d7e2SAndroid Build Coastguard Worker                ),
777*cc02d7e2SAndroid Build Coastguard Worker            ),
778*cc02d7e2SAndroid Build Coastguard Worker            (
779*cc02d7e2SAndroid Build Coastguard Worker                "v1.62.0",
780*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
781*cc02d7e2SAndroid Build Coastguard Worker                    runtimes=["python"], testcases_file="python__master"
782*cc02d7e2SAndroid Build Coastguard Worker                ),
783*cc02d7e2SAndroid Build Coastguard Worker            ),
784*cc02d7e2SAndroid Build Coastguard Worker        ]
785*cc02d7e2SAndroid Build Coastguard Worker    ),
786*cc02d7e2SAndroid Build Coastguard Worker    "node": OrderedDict(
787*cc02d7e2SAndroid Build Coastguard Worker        [
788*cc02d7e2SAndroid Build Coastguard Worker            ("v1.0.1", ReleaseInfo(testcases_file="node__v1.0.1")),
789*cc02d7e2SAndroid Build Coastguard Worker            ("v1.1.4", ReleaseInfo(testcases_file="node__v1.1.4")),
790*cc02d7e2SAndroid Build Coastguard Worker            ("v1.2.5", ReleaseInfo(testcases_file="node__v1.1.4")),
791*cc02d7e2SAndroid Build Coastguard Worker            ("v1.3.9", ReleaseInfo(testcases_file="node__v1.1.4")),
792*cc02d7e2SAndroid Build Coastguard Worker            ("v1.4.2", ReleaseInfo(testcases_file="node__v1.1.4")),
793*cc02d7e2SAndroid Build Coastguard Worker            ("v1.6.6", ReleaseInfo(testcases_file="node__v1.1.4")),
794*cc02d7e2SAndroid Build Coastguard Worker            # TODO: https://github.com/grpc/grpc-node/issues/235.
795*cc02d7e2SAndroid Build Coastguard Worker            # ('v1.7.2', ReleaseInfo()),
796*cc02d7e2SAndroid Build Coastguard Worker            ("v1.8.4", ReleaseInfo()),
797*cc02d7e2SAndroid Build Coastguard Worker            ("v1.9.1", ReleaseInfo()),
798*cc02d7e2SAndroid Build Coastguard Worker            ("v1.10.0", ReleaseInfo()),
799*cc02d7e2SAndroid Build Coastguard Worker            ("v1.11.3", ReleaseInfo()),
800*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.4", ReleaseInfo()),
801*cc02d7e2SAndroid Build Coastguard Worker        ]
802*cc02d7e2SAndroid Build Coastguard Worker    ),
803*cc02d7e2SAndroid Build Coastguard Worker    "ruby": OrderedDict(
804*cc02d7e2SAndroid Build Coastguard Worker        [
805*cc02d7e2SAndroid Build Coastguard Worker            (
806*cc02d7e2SAndroid Build Coastguard Worker                "v1.0.1",
807*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
808*cc02d7e2SAndroid Build Coastguard Worker                    patch=[
809*cc02d7e2SAndroid Build Coastguard Worker                        "tools/dockerfile/interoptest/grpc_interop_ruby/Dockerfile",
810*cc02d7e2SAndroid Build Coastguard Worker                        "tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh",
811*cc02d7e2SAndroid Build Coastguard Worker                    ],
812*cc02d7e2SAndroid Build Coastguard Worker                    testcases_file="ruby__v1.0.1",
813*cc02d7e2SAndroid Build Coastguard Worker                ),
814*cc02d7e2SAndroid Build Coastguard Worker            ),
815*cc02d7e2SAndroid Build Coastguard Worker            ("v1.1.4", ReleaseInfo(testcases_file="ruby__v1.1.4")),
816*cc02d7e2SAndroid Build Coastguard Worker            ("v1.2.5", ReleaseInfo(testcases_file="ruby__v1.1.4")),
817*cc02d7e2SAndroid Build Coastguard Worker            ("v1.3.9", ReleaseInfo(testcases_file="ruby__v1.1.4")),
818*cc02d7e2SAndroid Build Coastguard Worker            ("v1.4.2", ReleaseInfo(testcases_file="ruby__v1.1.4")),
819*cc02d7e2SAndroid Build Coastguard Worker            ("v1.6.6", ReleaseInfo(testcases_file="ruby__v1.1.4")),
820*cc02d7e2SAndroid Build Coastguard Worker            ("v1.7.2", ReleaseInfo(testcases_file="ruby__v1.1.4")),
821*cc02d7e2SAndroid Build Coastguard Worker            ("v1.8.0", ReleaseInfo(testcases_file="ruby__v1.1.4")),
822*cc02d7e2SAndroid Build Coastguard Worker            ("v1.9.1", ReleaseInfo(testcases_file="ruby__v1.1.4")),
823*cc02d7e2SAndroid Build Coastguard Worker            ("v1.10.1", ReleaseInfo(testcases_file="ruby__v1.1.4")),
824*cc02d7e2SAndroid Build Coastguard Worker            ("v1.11.1", ReleaseInfo(testcases_file="ruby__v1.1.4")),
825*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.0", ReleaseInfo(testcases_file="ruby__v1.1.4")),
826*cc02d7e2SAndroid Build Coastguard Worker            ("v1.13.0", ReleaseInfo(testcases_file="ruby__v1.1.4")),
827*cc02d7e2SAndroid Build Coastguard Worker            ("v1.14.1", ReleaseInfo(testcases_file="ruby__v1.1.4")),
828*cc02d7e2SAndroid Build Coastguard Worker            ("v1.15.0", ReleaseInfo(testcases_file="ruby__v1.1.4")),
829*cc02d7e2SAndroid Build Coastguard Worker            ("v1.16.0", ReleaseInfo(testcases_file="ruby__v1.1.4")),
830*cc02d7e2SAndroid Build Coastguard Worker            ("v1.17.1", ReleaseInfo(testcases_file="ruby__v1.1.4")),
831*cc02d7e2SAndroid Build Coastguard Worker            (
832*cc02d7e2SAndroid Build Coastguard Worker                "v1.18.0",
833*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
834*cc02d7e2SAndroid Build Coastguard Worker                    patch=[
835*cc02d7e2SAndroid Build Coastguard Worker                        "tools/dockerfile/interoptest/grpc_interop_ruby/build_interop.sh",
836*cc02d7e2SAndroid Build Coastguard Worker                    ]
837*cc02d7e2SAndroid Build Coastguard Worker                ),
838*cc02d7e2SAndroid Build Coastguard Worker            ),
839*cc02d7e2SAndroid Build Coastguard Worker            ("v1.19.0", ReleaseInfo()),
840*cc02d7e2SAndroid Build Coastguard Worker            ("v1.20.0", ReleaseInfo()),
841*cc02d7e2SAndroid Build Coastguard Worker            ("v1.21.4", ReleaseInfo()),
842*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.0", ReleaseInfo()),
843*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.1", ReleaseInfo()),
844*cc02d7e2SAndroid Build Coastguard Worker            ("v1.23.0", ReleaseInfo()),
845*cc02d7e2SAndroid Build Coastguard Worker            ("v1.24.0", ReleaseInfo()),
846*cc02d7e2SAndroid Build Coastguard Worker            ("v1.25.0", ReleaseInfo()),
847*cc02d7e2SAndroid Build Coastguard Worker            # TODO: https://github.com/grpc/grpc/issues/18262.
848*cc02d7e2SAndroid Build Coastguard Worker            # If you are not encountering the error in above issue
849*cc02d7e2SAndroid Build Coastguard Worker            # go ahead and upload the docker image for new releases.
850*cc02d7e2SAndroid Build Coastguard Worker            ("v1.26.0", ReleaseInfo()),
851*cc02d7e2SAndroid Build Coastguard Worker            ("v1.27.3", ReleaseInfo()),
852*cc02d7e2SAndroid Build Coastguard Worker            ("v1.30.0", ReleaseInfo()),
853*cc02d7e2SAndroid Build Coastguard Worker            ("v1.31.1", ReleaseInfo()),
854*cc02d7e2SAndroid Build Coastguard Worker            ("v1.32.0", ReleaseInfo()),
855*cc02d7e2SAndroid Build Coastguard Worker            ("v1.33.2", ReleaseInfo()),
856*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.0", ReleaseInfo()),
857*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.0", ReleaseInfo()),
858*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.3", ReleaseInfo()),
859*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.0", ReleaseInfo()),
860*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.0", ReleaseInfo()),
861*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.0", ReleaseInfo()),
862*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.1", ReleaseInfo()),
863*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.0", ReleaseInfo()),
864*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.0", ReleaseInfo()),
865*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.0", ReleaseInfo()),
866*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.2", ReleaseInfo()),
867*cc02d7e2SAndroid Build Coastguard Worker            ("v1.47.1", ReleaseInfo()),
868*cc02d7e2SAndroid Build Coastguard Worker            ("v1.48.3", ReleaseInfo()),
869*cc02d7e2SAndroid Build Coastguard Worker            ("v1.49.1", ReleaseInfo()),
870*cc02d7e2SAndroid Build Coastguard Worker            ("v1.52.0", ReleaseInfo()),
871*cc02d7e2SAndroid Build Coastguard Worker            ("v1.53.0", ReleaseInfo()),
872*cc02d7e2SAndroid Build Coastguard Worker            ("v1.54.0", ReleaseInfo()),
873*cc02d7e2SAndroid Build Coastguard Worker            ("v1.55.0", ReleaseInfo()),
874*cc02d7e2SAndroid Build Coastguard Worker            ("v1.56.0", ReleaseInfo()),
875*cc02d7e2SAndroid Build Coastguard Worker            ("v1.57.0", ReleaseInfo()),
876*cc02d7e2SAndroid Build Coastguard Worker            ("v1.58.0", ReleaseInfo()),
877*cc02d7e2SAndroid Build Coastguard Worker            ("v1.60.0", ReleaseInfo()),
878*cc02d7e2SAndroid Build Coastguard Worker            ("v1.61.0", ReleaseInfo()),
879*cc02d7e2SAndroid Build Coastguard Worker            ("v1.62.0", ReleaseInfo()),
880*cc02d7e2SAndroid Build Coastguard Worker        ]
881*cc02d7e2SAndroid Build Coastguard Worker    ),
882*cc02d7e2SAndroid Build Coastguard Worker    "php": OrderedDict(
883*cc02d7e2SAndroid Build Coastguard Worker        [
884*cc02d7e2SAndroid Build Coastguard Worker            ("v1.0.1", ReleaseInfo(testcases_file="php__v1.0.1")),
885*cc02d7e2SAndroid Build Coastguard Worker            ("v1.1.4", ReleaseInfo(testcases_file="php__v1.0.1")),
886*cc02d7e2SAndroid Build Coastguard Worker            ("v1.2.5", ReleaseInfo(testcases_file="php__v1.0.1")),
887*cc02d7e2SAndroid Build Coastguard Worker            ("v1.3.9", ReleaseInfo(testcases_file="php__v1.0.1")),
888*cc02d7e2SAndroid Build Coastguard Worker            ("v1.4.2", ReleaseInfo(testcases_file="php__v1.0.1")),
889*cc02d7e2SAndroid Build Coastguard Worker            ("v1.6.6", ReleaseInfo(testcases_file="php__v1.0.1")),
890*cc02d7e2SAndroid Build Coastguard Worker            ("v1.7.2", ReleaseInfo(testcases_file="php__v1.0.1")),
891*cc02d7e2SAndroid Build Coastguard Worker            ("v1.8.0", ReleaseInfo(testcases_file="php__v1.0.1")),
892*cc02d7e2SAndroid Build Coastguard Worker            ("v1.9.1", ReleaseInfo(testcases_file="php__v1.0.1")),
893*cc02d7e2SAndroid Build Coastguard Worker            ("v1.10.1", ReleaseInfo(testcases_file="php__v1.0.1")),
894*cc02d7e2SAndroid Build Coastguard Worker            ("v1.11.1", ReleaseInfo(testcases_file="php__v1.0.1")),
895*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.0", ReleaseInfo(testcases_file="php__v1.0.1")),
896*cc02d7e2SAndroid Build Coastguard Worker            ("v1.13.0", ReleaseInfo(testcases_file="php__v1.0.1")),
897*cc02d7e2SAndroid Build Coastguard Worker            ("v1.14.1", ReleaseInfo(testcases_file="php__v1.0.1")),
898*cc02d7e2SAndroid Build Coastguard Worker            ("v1.15.0", ReleaseInfo(testcases_file="php__v1.0.1")),
899*cc02d7e2SAndroid Build Coastguard Worker            ("v1.16.0", ReleaseInfo(testcases_file="php__v1.0.1")),
900*cc02d7e2SAndroid Build Coastguard Worker            ("v1.17.1", ReleaseInfo(testcases_file="php__v1.0.1")),
901*cc02d7e2SAndroid Build Coastguard Worker            ("v1.18.0", ReleaseInfo()),
902*cc02d7e2SAndroid Build Coastguard Worker            # v1.19 and v1.20 were deliberately omitted here because of an issue.
903*cc02d7e2SAndroid Build Coastguard Worker            # See https://github.com/grpc/grpc/issues/18264
904*cc02d7e2SAndroid Build Coastguard Worker            ("v1.21.4", ReleaseInfo()),
905*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.0", ReleaseInfo()),
906*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.1", ReleaseInfo()),
907*cc02d7e2SAndroid Build Coastguard Worker            ("v1.23.0", ReleaseInfo()),
908*cc02d7e2SAndroid Build Coastguard Worker            ("v1.24.0", ReleaseInfo()),
909*cc02d7e2SAndroid Build Coastguard Worker            ("v1.25.0", ReleaseInfo()),
910*cc02d7e2SAndroid Build Coastguard Worker            ("v1.26.0", ReleaseInfo()),
911*cc02d7e2SAndroid Build Coastguard Worker            ("v1.27.3", ReleaseInfo()),
912*cc02d7e2SAndroid Build Coastguard Worker            ("v1.30.0", ReleaseInfo()),
913*cc02d7e2SAndroid Build Coastguard Worker            ("v1.31.1", ReleaseInfo()),
914*cc02d7e2SAndroid Build Coastguard Worker            ("v1.32.0", ReleaseInfo()),
915*cc02d7e2SAndroid Build Coastguard Worker            ("v1.33.2", ReleaseInfo()),
916*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.0", ReleaseInfo()),
917*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.0", ReleaseInfo()),
918*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.3", ReleaseInfo()),
919*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.0", ReleaseInfo()),
920*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.0", ReleaseInfo()),
921*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.0", ReleaseInfo()),
922*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.1", ReleaseInfo()),
923*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.0", ReleaseInfo()),
924*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.0", ReleaseInfo()),
925*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.0", ReleaseInfo()),
926*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.2", ReleaseInfo()),
927*cc02d7e2SAndroid Build Coastguard Worker            ("v1.47.1", ReleaseInfo()),
928*cc02d7e2SAndroid Build Coastguard Worker            ("v1.48.3", ReleaseInfo()),
929*cc02d7e2SAndroid Build Coastguard Worker            ("v1.49.1", ReleaseInfo()),
930*cc02d7e2SAndroid Build Coastguard Worker            ("v1.52.0", ReleaseInfo()),
931*cc02d7e2SAndroid Build Coastguard Worker            ("v1.53.0", ReleaseInfo()),
932*cc02d7e2SAndroid Build Coastguard Worker            ("v1.54.0", ReleaseInfo()),
933*cc02d7e2SAndroid Build Coastguard Worker            ("v1.55.0", ReleaseInfo()),
934*cc02d7e2SAndroid Build Coastguard Worker            ("v1.56.0", ReleaseInfo()),
935*cc02d7e2SAndroid Build Coastguard Worker            ("v1.57.0", ReleaseInfo()),
936*cc02d7e2SAndroid Build Coastguard Worker            ("v1.58.0", ReleaseInfo()),
937*cc02d7e2SAndroid Build Coastguard Worker            ("v1.60.0", ReleaseInfo()),
938*cc02d7e2SAndroid Build Coastguard Worker            ("v1.61.0", ReleaseInfo()),
939*cc02d7e2SAndroid Build Coastguard Worker            ("v1.62.0", ReleaseInfo()),
940*cc02d7e2SAndroid Build Coastguard Worker        ]
941*cc02d7e2SAndroid Build Coastguard Worker    ),
942*cc02d7e2SAndroid Build Coastguard Worker    "csharp": OrderedDict(
943*cc02d7e2SAndroid Build Coastguard Worker        [
944*cc02d7e2SAndroid Build Coastguard Worker            (
945*cc02d7e2SAndroid Build Coastguard Worker                "v1.0.1",
946*cc02d7e2SAndroid Build Coastguard Worker                ReleaseInfo(
947*cc02d7e2SAndroid Build Coastguard Worker                    patch=[
948*cc02d7e2SAndroid Build Coastguard Worker                        "tools/dockerfile/interoptest/grpc_interop_csharp/Dockerfile",
949*cc02d7e2SAndroid Build Coastguard Worker                        "tools/dockerfile/interoptest/grpc_interop_csharpcoreclr/Dockerfile",
950*cc02d7e2SAndroid Build Coastguard Worker                    ],
951*cc02d7e2SAndroid Build Coastguard Worker                    testcases_file="csharp__v1.1.4",
952*cc02d7e2SAndroid Build Coastguard Worker                ),
953*cc02d7e2SAndroid Build Coastguard Worker            ),
954*cc02d7e2SAndroid Build Coastguard Worker            ("v1.1.4", ReleaseInfo(testcases_file="csharp__v1.1.4")),
955*cc02d7e2SAndroid Build Coastguard Worker            ("v1.2.5", ReleaseInfo(testcases_file="csharp__v1.1.4")),
956*cc02d7e2SAndroid Build Coastguard Worker            ("v1.3.9", ReleaseInfo(testcases_file="csharp__v1.3.9")),
957*cc02d7e2SAndroid Build Coastguard Worker            ("v1.4.2", ReleaseInfo(testcases_file="csharp__v1.3.9")),
958*cc02d7e2SAndroid Build Coastguard Worker            ("v1.6.6", ReleaseInfo(testcases_file="csharp__v1.3.9")),
959*cc02d7e2SAndroid Build Coastguard Worker            ("v1.7.2", ReleaseInfo(testcases_file="csharp__v1.3.9")),
960*cc02d7e2SAndroid Build Coastguard Worker            ("v1.8.0", ReleaseInfo(testcases_file="csharp__v1.3.9")),
961*cc02d7e2SAndroid Build Coastguard Worker            ("v1.9.1", ReleaseInfo(testcases_file="csharp__v1.3.9")),
962*cc02d7e2SAndroid Build Coastguard Worker            ("v1.10.1", ReleaseInfo(testcases_file="csharp__v1.3.9")),
963*cc02d7e2SAndroid Build Coastguard Worker            ("v1.11.1", ReleaseInfo(testcases_file="csharp__v1.3.9")),
964*cc02d7e2SAndroid Build Coastguard Worker            ("v1.12.0", ReleaseInfo(testcases_file="csharp__v1.3.9")),
965*cc02d7e2SAndroid Build Coastguard Worker            ("v1.13.0", ReleaseInfo(testcases_file="csharp__v1.3.9")),
966*cc02d7e2SAndroid Build Coastguard Worker            ("v1.14.1", ReleaseInfo(testcases_file="csharp__v1.3.9")),
967*cc02d7e2SAndroid Build Coastguard Worker            ("v1.15.0", ReleaseInfo(testcases_file="csharp__v1.3.9")),
968*cc02d7e2SAndroid Build Coastguard Worker            ("v1.16.0", ReleaseInfo(testcases_file="csharp__v1.3.9")),
969*cc02d7e2SAndroid Build Coastguard Worker            ("v1.17.1", ReleaseInfo(testcases_file="csharp__v1.3.9")),
970*cc02d7e2SAndroid Build Coastguard Worker            ("v1.18.0", ReleaseInfo(testcases_file="csharp__v1.18.0")),
971*cc02d7e2SAndroid Build Coastguard Worker            ("v1.19.0", ReleaseInfo(testcases_file="csharp__v1.18.0")),
972*cc02d7e2SAndroid Build Coastguard Worker            ("v1.20.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
973*cc02d7e2SAndroid Build Coastguard Worker            ("v1.20.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
974*cc02d7e2SAndroid Build Coastguard Worker            ("v1.21.4", ReleaseInfo(testcases_file="csharp__v1.20.0")),
975*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
976*cc02d7e2SAndroid Build Coastguard Worker            ("v1.22.1", ReleaseInfo(testcases_file="csharp__v1.20.0")),
977*cc02d7e2SAndroid Build Coastguard Worker            ("v1.23.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
978*cc02d7e2SAndroid Build Coastguard Worker            ("v1.24.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
979*cc02d7e2SAndroid Build Coastguard Worker            ("v1.25.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
980*cc02d7e2SAndroid Build Coastguard Worker            ("v1.26.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
981*cc02d7e2SAndroid Build Coastguard Worker            ("v1.27.3", ReleaseInfo(testcases_file="csharp__v1.20.0")),
982*cc02d7e2SAndroid Build Coastguard Worker            ("v1.30.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
983*cc02d7e2SAndroid Build Coastguard Worker            ("v1.31.1", ReleaseInfo(testcases_file="csharp__v1.20.0")),
984*cc02d7e2SAndroid Build Coastguard Worker            ("v1.32.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
985*cc02d7e2SAndroid Build Coastguard Worker            ("v1.33.2", ReleaseInfo(testcases_file="csharp__v1.20.0")),
986*cc02d7e2SAndroid Build Coastguard Worker            ("v1.34.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
987*cc02d7e2SAndroid Build Coastguard Worker            ("v1.35.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
988*cc02d7e2SAndroid Build Coastguard Worker            ("v1.36.3", ReleaseInfo(testcases_file="csharp__v1.20.0")),
989*cc02d7e2SAndroid Build Coastguard Worker            ("v1.37.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
990*cc02d7e2SAndroid Build Coastguard Worker            ("v1.38.1", ReleaseInfo(testcases_file="csharp__v1.20.0")),
991*cc02d7e2SAndroid Build Coastguard Worker            ("v1.39.1", ReleaseInfo(testcases_file="csharp__v1.20.0")),
992*cc02d7e2SAndroid Build Coastguard Worker            ("v1.41.1", ReleaseInfo(testcases_file="csharp__v1.20.0")),
993*cc02d7e2SAndroid Build Coastguard Worker            ("v1.42.0", ReleaseInfo(testcases_file="csharp__v1.20.0")),
994*cc02d7e2SAndroid Build Coastguard Worker            ("v1.43.0", ReleaseInfo()),
995*cc02d7e2SAndroid Build Coastguard Worker            ("v1.44.0", ReleaseInfo()),
996*cc02d7e2SAndroid Build Coastguard Worker            ("v1.46.2", ReleaseInfo()),
997*cc02d7e2SAndroid Build Coastguard Worker        ]
998*cc02d7e2SAndroid Build Coastguard Worker    ),
999*cc02d7e2SAndroid Build Coastguard Worker}
1000