Skip to content

Commit

Permalink
[ci] Add jest retry (#174389)
Browse files Browse the repository at this point in the history
If a jest test is flaky, we want to retry a single step instead of
re-running the entire pipeline.
  • Loading branch information
jbudz authored Jan 5, 2024
1 parent b89c53b commit c3983b8
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions .buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,12 @@ export async function pickTestGroupRunOrder() {
if (Number.isNaN(FTR_CONFIGS_RETRY_COUNT)) {
throw new Error(`invalid FTR_CONFIGS_RETRY_COUNT: ${process.env.FTR_CONFIGS_RETRY_COUNT}`);
}
const JEST_CONFIGS_RETRY_COUNT = process.env.JEST_CONFIGS_RETRY_COUNT
? parseInt(process.env.JEST_CONFIGS_RETRY_COUNT, 10)
: 1;
if (Number.isNaN(JEST_CONFIGS_RETRY_COUNT)) {
throw new Error(`invalid JEST_CONFIGS_RETRY_COUNT: ${process.env.JEST_CONFIGS_RETRY_COUNT}`);
}

const FTR_CONFIGS_DEPS =
process.env.FTR_CONFIGS_DEPS !== undefined
Expand Down Expand Up @@ -417,10 +423,10 @@ export async function pickTestGroupRunOrder() {
},
retry: {
automatic: [
{
exit_status: '-1',
limit: 3,
},
{ exit_status: '-1', limit: 3 },
...(JEST_CONFIGS_RETRY_COUNT > 0
? [{ exit_status: '*', limit: JEST_CONFIGS_RETRY_COUNT }]
: []),
],
},
}
Expand All @@ -437,10 +443,10 @@ export async function pickTestGroupRunOrder() {
},
retry: {
automatic: [
{
exit_status: '-1',
limit: 3,
},
{ exit_status: '-1', limit: 3 },
...(JEST_CONFIGS_RETRY_COUNT > 0
? [{ exit_status: '*', limit: JEST_CONFIGS_RETRY_COUNT }]
: []),
],
},
}
Expand Down

0 comments on commit c3983b8

Please sign in to comment.