You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(labeler): implement Linux support verification for server requests
* Added checks for Linux support based on issue content and Steam API data.
* Integrated AI analysis for documentation to assess Linux compatibility.
* Automatically create or remove labels based on support verification results.
* Enhanced feedback for users regarding Linux server support status.
Co-authored-by: Copilot <copilot@github.com>
description: 'Game server does not have confirmed native Linux support',
907
+
});
908
+
} catch (createErr) {
909
+
console.log(`Could not create label "${NO_LINUX_LABEL}": ${createErr.message}`);
910
+
}
911
+
}
912
+
}
913
+
labelsToAdd.add(NO_LINUX_LABEL);
914
+
} else if (existingLabels.has(NO_LINUX_LABEL)) {
915
+
labelsToRemove.add(NO_LINUX_LABEL);
916
+
}
917
+
918
+
const reasons = [];
919
+
if (deterministicWindowsOnly) reasons.push('the provided docs/guides explicitly indicate Windows-only or no Linux support');
920
+
if (deterministicWineRequired && !hasLinuxEvidence) reasons.push('the provided docs/guides indicate a Wine/Proton requirement rather than native Linux binaries');
921
+
if (windowsBinaryHint && !hasLinuxEvidence) reasons.push('the provided evidence appears to reference Windows binaries (.exe) without clear Linux server evidence');
922
+
if (isSteamNo) reasons.push('request is marked as non-Steam, so Steam platform checks were intentionally skipped');
923
+
if (noLinuxFromSteam) reasons.push(`Steam API reports no Linux platform support for AppID ${steamAppId}`);
924
+
if (confirmedLinuxFromSteam) reasons.push(`Steam API reports Linux platform support for AppID ${steamAppId}`);
925
+
if (noLinuxFromAi && aiLinuxAssessment?.reason) reasons.push(`AI analysis of provided documentation: ${aiLinuxAssessment.reason}`);
926
+
if (linuxYesFromAi && aiLinuxAssessment?.reason) reasons.push(`AI analysis indicates Linux support: ${aiLinuxAssessment.reason}`);
927
+
928
+
let verdictLine = 'Linux support could not be confirmed automatically from the submitted details.';
929
+
if (confirmedNoLinux) {
930
+
verdictLine = 'This server request does **not** appear to have native Linux support, which is required for LinuxGSM.';
931
+
} else if (suggestsNoLinux) {
932
+
verdictLine = 'This server request **may not** have native Linux support based on submitted evidence.';
933
+
} else if (confirmedLinuxFromSteam) {
934
+
verdictLine = 'Steam metadata indicates this server supports Linux.';
935
+
} else if (linuxYesFromAi) {
936
+
verdictLine = 'Submitted documentation appears to indicate Linux server support.';
937
+
}
938
+
939
+
const steamBlock = isSteamNo
940
+
? '**Steam:** No (non-Steam request)\n**Steam API:** Not applicable\n\n'
0 commit comments