Skip to content

Commit 8ca34a1

Browse files
authored
Refactor testmatrix platform detection and regenerate matrix (#110)
Use slices.Contains for robust tag matching, collapse skip conditions, and regenerate matrix.md.
1 parent c8c9327 commit 8ca34a1

2 files changed

Lines changed: 74 additions & 1 deletion

File tree

cmd/testmatrix/main.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"log"
3131
"os"
3232
"regexp"
33+
"slices"
3334
"sort"
3435
"strings"
3536

@@ -103,6 +104,15 @@ var (
103104
triggerNameRe = regexp.MustCompile(`^ops-\w+-e2e-.*$`)
104105
scenarioPassRe = regexp.MustCompile(`: --- PASS:\s+([\w_]+)`)
105106
scenarioSkipRe = regexp.MustCompile(`: --- SKIP:\s+([\w_]+)`)
107+
knownPlatforms = []string{
108+
"local",
109+
"gke",
110+
"gce",
111+
"gae",
112+
"gae-standard",
113+
"cloud-run",
114+
"cloud-functions-gen2",
115+
}
106116
)
107117

108118
func main() {
@@ -201,9 +211,20 @@ func handleTrigger(
201211
log.Printf("Skipping trigger %v which doesn't match regex", trigger.Name)
202212
return nil, nil
203213
}
214+
platform := ""
215+
for _, tag := range trigger.Tags {
216+
if slices.Contains(knownPlatforms, tag) {
217+
platform = tag
218+
break
219+
}
220+
}
221+
if platform == "" || trigger.Github == nil {
222+
log.Printf("Skipping trigger %v", trigger.Name)
223+
return nil, nil
224+
}
204225
res := &result{
205226
RepoName: trigger.Github.Name,
206-
Platform: trigger.Tags[1],
227+
Platform: platform,
207228
Statuses: make(map[string]status),
208229
}
209230

matrix.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,58 @@
1212
</tr>
1313
</thead>
1414
<tbody>
15+
<tr>
16+
<td rowspan=7>
17+
<a href="https://github.com/GoogleCloudPlatform/opentelemetry-operations-e2e-testing">opentelemetry-operations-e2e-testing</a>
18+
</td>
19+
<td>cloud-functions-gen2</td>
20+
<td>:leftwards_arrow_with_hook:</td>
21+
<td>:white_check_mark:</td>
22+
<td>:white_check_mark:</td>
23+
<td>:white_check_mark:</td>
24+
</tr>
25+
<tr>
26+
<td>cloud-run</td>
27+
<td>:leftwards_arrow_with_hook:</td>
28+
<td>:white_check_mark:</td>
29+
<td>:white_check_mark:</td>
30+
<td>:white_check_mark:</td>
31+
</tr>
32+
<tr>
33+
<td>gae</td>
34+
<td>:leftwards_arrow_with_hook:</td>
35+
<td>:white_check_mark:</td>
36+
<td>:white_check_mark:</td>
37+
<td>:white_check_mark:</td>
38+
</tr>
39+
<tr>
40+
<td>gae-standard</td>
41+
<td></td>
42+
<td></td>
43+
<td></td>
44+
<td></td>
45+
</tr>
46+
<tr>
47+
<td>gce</td>
48+
<td>:leftwards_arrow_with_hook:</td>
49+
<td>:white_check_mark:</td>
50+
<td>:white_check_mark:</td>
51+
<td>:white_check_mark:</td>
52+
</tr>
53+
<tr>
54+
<td>gke</td>
55+
<td>:leftwards_arrow_with_hook:</td>
56+
<td>:white_check_mark:</td>
57+
<td>:white_check_mark:</td>
58+
<td>:white_check_mark:</td>
59+
</tr>
60+
<tr>
61+
<td>local</td>
62+
<td></td>
63+
<td></td>
64+
<td></td>
65+
<td></td>
66+
</tr>
1567
<tr>
1668
<td rowspan=7>
1769
<a href="https://github.com/GoogleCloudPlatform/opentelemetry-operations-go">opentelemetry-operations-go</a>

0 commit comments

Comments
 (0)