Skip to content

Commit ca7d8b6

Browse files
committed
Limit retries of diff
1 parent bdfe2f6 commit ca7d8b6

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/sbomCollector.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ export class SbomCollector {
325325
console.error(chalk.red(`Force submission failed for ${fullName} branch ${b.name}: ${(subErr as Error).message}`));
326326
}
327327
}
328-
const diff = await this.fetchDependencyReviewDiff(org, repo.name, base, b.name);
328+
const diff = await this.fetchDependencyReviewDiff(org, repo.name, base, b.name, 1);
329329
branchDiffs.set(b.name, diff);
330330
}
331331
if (branchDiffs.size) sbom.branchDiffs = branchDiffs;
@@ -495,7 +495,10 @@ export class SbomCollector {
495495
return branches;
496496
}
497497

498-
private async fetchDependencyReviewDiff(org: string, repo: string, base: string, head: string): Promise<BranchDependencyDiff> {
498+
private async fetchDependencyReviewDiff(org: string, repo: string, base: string, head: string, retries: number): Promise<BranchDependencyDiff> {
499+
if (retries <= 0) {
500+
return { latestCommitDate: undefined, base, head, retrievedAt: new Date().toISOString(), changes: [], error: "Maximum retries exceeded" };
501+
}
499502
if (!this.octokit) throw new Error("No Octokit instance");
500503
try {
501504
const basehead = `${base}...${head}`;
@@ -532,7 +535,7 @@ export class SbomCollector {
532535
if (ok) {
533536
console.log(chalk.blue(`Snapshot submission attempted; waiting 3 seconds before retrying dependency review diff for ${org}/${repo} ${base}...${head}...`));
534537
await new Promise(r => setTimeout(r, 3000));
535-
return await this.fetchDependencyReviewDiff(org, repo, base, head);
538+
return await this.fetchDependencyReviewDiff(org, repo, base, head, retries--);
536539
}
537540
} catch (subErr) {
538541
console.error(chalk.red(`Snapshot submission failed for ${org}/${repo} branch ${head}: ${(subErr as Error).message}`));

0 commit comments

Comments
 (0)