in eng/tools/sdk-suppressions/src/updateSdkSuppressionsLabel.ts [192:223]
export async function updateSdkSuppressionsLabels(
prLabels: string,
prChangeFiles: string,
baseCommitHash: string,
headCommitHash: string,
outputFile?: string,
): Promise<{ labelsToAdd: String[]; labelsToRemove: String[] }> {
try {
const result = await simpleGit().raw("status");
console.log("Git status:", result);
} catch (err) {
console.error("Error running git command:", err);
}
const sdkNames = await getSdkSuppressionsSdkNames(prChangeFiles, baseCommitHash, headCommitHash);
console.log(
`updateSdkSuppressionsLabels: Get the required suppressions label based on compared SDK List ${sdkNames.join(", ")}`,
);
const presentLabels = JSON.parse(prLabels) as string[];
console.log(`updateSdkSuppressionsLabels: Present labels: ${presentLabels.join(", ")}`);
const result = processLabels(presentLabels, sdkNames);
if(outputFile){
writeFileSync(outputFile, JSON.stringify(result));
console.log(`😊 JSON output saved to ${outputFile}`);
}
return result;
}