Skip to content

Commit 6a4cc5c

Browse files
authoredJan 30, 2024
chore(test): add delay between ecosystem tests retry (#651)
1 parent c9bb4ed commit 6a4cc5c

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed
 

‎ecosystem-tests/cli.ts

+17-4
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,15 @@ function parseArgs() {
142142
description: 'number of parallel jobs to run',
143143
},
144144
retry: {
145-
type: 'number',
145+
type: 'count',
146146
default: 0,
147147
description: 'number of times to retry failing jobs',
148148
},
149+
retryDelay: {
150+
type: 'number',
151+
default: 100,
152+
description: 'delay between retries in ms',
153+
},
149154
parallel: {
150155
type: 'boolean',
151156
default: false,
@@ -271,7 +276,7 @@ async function main() {
271276
console.error('\n');
272277

273278
try {
274-
await withRetry(fn, project, state.retry);
279+
await withRetry(fn, project, state.retry, state.retryDelay);
275280
console.error('\n');
276281
console.error(`✅ ${project}`);
277282
} catch (err) {
@@ -297,13 +302,21 @@ async function main() {
297302
process.exit(0);
298303
}
299304

300-
async function withRetry(fn: () => Promise<void>, identifier: string, retryAmount: number): Promise<void> {
305+
async function withRetry(
306+
fn: () => Promise<void>,
307+
identifier: string,
308+
retryAmount: number,
309+
retryDelayMs: number,
310+
): Promise<void> {
301311
do {
302312
try {
303313
return await fn();
304314
} catch (err) {
305315
if (--retryAmount <= 0) throw err;
306-
console.error(`${identifier} failed due to ${err}; retries left ${retryAmount}`);
316+
console.error(
317+
`${identifier} failed due to ${err}; retries left ${retryAmount}, next retry in ${retryDelayMs}ms`,
318+
);
319+
await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
307320
}
308321
} while (retryAmount > 0);
309322
}

0 commit comments

Comments
 (0)