export async function updateSdkSuppressionsLabels()

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;
}