@@ -51,32 +51,41 @@ jobs:
51
51
"include": []
52
52
}
53
53
54
+ // Track languages we've already added to avoid duplicates
55
+ const addedLanguages = new Set()
56
+
54
57
for (let [key, value] of Object.entries(response.data)) {
55
58
// remap language
56
59
if (remap_languages[key.toLowerCase()]) {
57
60
console.log(`Remapping language: ${key} to ${remap_languages[key.toLowerCase()]}`)
58
61
key = remap_languages[key.toLowerCase()]
59
62
}
60
- if (supported_languages.includes(key.toLowerCase())) {
61
- console.log(`Found supported language: ${key}`)
63
+
64
+ const normalizedKey = key.toLowerCase()
65
+
66
+ if (supported_languages.includes(normalizedKey) && !addedLanguages.has(normalizedKey)) {
67
+ // Mark this language as added
68
+ addedLanguages.add(normalizedKey)
69
+
70
+ console.log(`Found supported language: ${normalizedKey}`)
62
71
let osList = ['ubuntu-latest'];
63
- if (key.toLowerCase() === 'swift') {
72
+ if (normalizedKey === 'swift') {
64
73
osList = ['macos-latest'];
65
- } else if (key.toLowerCase() === 'cpp') {
74
+ } else if (normalizedKey === 'cpp') {
66
75
// TODO: update macos to latest after the below issue is resolved
67
76
// https://github.com/github/codeql-action/issues/2266
68
77
osList = ['macos-13', 'ubuntu-latest', 'windows-latest'];
69
78
}
70
79
for (let os of osList) {
71
80
// set name for matrix
72
- if (osList.length == 1) {
73
- name = key.toLowerCase()
74
- } else {
75
- name = `${key.toLowerCase()}, ${os}`
76
- }
81
+ let name = osList.length === 1 ? normalizedKey : `${normalizedKey}, ${os}`
77
82
78
83
// add to matrix
79
- matrix['include'].push({"language": key.toLowerCase(), "os": os, "name": name})
84
+ matrix['include'].push({
85
+ "language": normalizedKey,
86
+ "os": os,
87
+ "name": name
88
+ })
80
89
}
81
90
}
82
91
}
0 commit comments