Skip to content

Commit 053389d

Browse files
authored
Fix testcontainers cleanup (#2023)
* update testcontainers packages * increase cleanup timeout and add better logs * small tweaks * decrease docker network size so we can have more of them * add a test flow to check this all works * await all engine.quit calls * add docker diagnostics * reduce number of test runs * improve network attachment output * add setup logs * log redis setup errors * add cleanup log type * stop redis container if setup fails * disable ipv6 * tidy things up a bit * fix unit tests workflow * decrease container cleanup timeout * fix types * fix webapp typecheck
1 parent 43a4139 commit 053389d

22 files changed

+617
-128
lines changed

.github/workflows/unit-tests.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,32 @@ jobs:
88
name: "🧪 Unit Tests"
99
runs-on: ubuntu-latest
1010
steps:
11+
- name: 🔧 Disable IPv6
12+
run: |
13+
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
14+
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
15+
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
16+
17+
- name: 🔧 Configure docker address pool
18+
run: |
19+
CONFIG='{
20+
"default-address-pools" : [
21+
{
22+
"base" : "172.17.0.0/12",
23+
"size" : 20
24+
},
25+
{
26+
"base" : "192.168.0.0/16",
27+
"size" : 24
28+
}
29+
]
30+
}'
31+
mkdir -p /etc/docker
32+
echo "$CONFIG" | sudo tee /etc/docker/daemon.json
33+
34+
- name: 🔧 Restart docker daemon
35+
run: sudo systemctl restart docker
36+
1137
- name: ⬇️ Checkout repo
1238
uses: actions/checkout@v4
1339
with:

apps/webapp/tsconfig.check.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"extends": "./tsconfig.json",
33
"compilerOptions": {
4+
"lib": ["DOM", "DOM.Iterable", "DOM.AsyncIterable", "ES2022"],
5+
"target": "ES2022",
46
"noEmit": true,
57
"paths": {
68
"~/*": ["./app/*"],

internal-packages/run-engine/src/engine/tests/attemptFailures.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ describe("RunEngine attempt failures", () => {
155155
expect(executionData4.run.attemptNumber).toBe(2);
156156
expect(executionData4.run.status).toBe("COMPLETED_SUCCESSFULLY");
157157
} finally {
158-
engine.quit();
158+
await engine.quit();
159159
}
160160
});
161161

@@ -266,7 +266,7 @@ describe("RunEngine attempt failures", () => {
266266
expect(executionData3.run.attemptNumber).toBe(1);
267267
expect(executionData3.run.status).toBe("COMPLETED_WITH_ERRORS");
268268
} finally {
269-
engine.quit();
269+
await engine.quit();
270270
}
271271
});
272272

@@ -375,7 +375,7 @@ describe("RunEngine attempt failures", () => {
375375
expect(executionData3.run.attemptNumber).toBe(1);
376376
expect(executionData3.run.status).toBe("CRASHED");
377377
} finally {
378-
engine.quit();
378+
await engine.quit();
379379
}
380380
});
381381

@@ -482,7 +482,7 @@ describe("RunEngine attempt failures", () => {
482482
expect(executionData.run.attemptNumber).toBe(1);
483483
expect(executionData.run.status).toBe("CRASHED");
484484
} finally {
485-
engine.quit();
485+
await engine.quit();
486486
}
487487
});
488488

@@ -639,7 +639,7 @@ describe("RunEngine attempt failures", () => {
639639
expect(executionData4.run.attemptNumber).toBe(2);
640640
expect(executionData4.run.status).toBe("COMPLETED_SUCCESSFULLY");
641641
} finally {
642-
engine.quit();
642+
await engine.quit();
643643
}
644644
});
645645

@@ -803,7 +803,7 @@ describe("RunEngine attempt failures", () => {
803803
expect(finalExecutionData.run.attemptNumber).toBe(2);
804804
expect(finalExecutionData.run.status).toBe("CRASHED");
805805
} finally {
806-
engine.quit();
806+
await engine.quit();
807807
}
808808
});
809809
});

internal-packages/run-engine/src/engine/tests/batchTrigger.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ describe("RunEngine batchTrigger", () => {
177177
});
178178
expect(batchAfter2?.status).toBe("COMPLETED");
179179
} finally {
180-
engine.quit();
180+
await engine.quit();
181181
}
182182
});
183183
});

internal-packages/run-engine/src/engine/tests/batchTriggerAndWait.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ describe("RunEngine batchTriggerAndWait", () => {
352352
});
353353
expect(batchAfter?.status === "COMPLETED");
354354
} finally {
355-
engine.quit();
355+
await engine.quit();
356356
}
357357
});
358358

@@ -570,7 +570,7 @@ describe("RunEngine batchTriggerAndWait", () => {
570570
);
571571
expect(parentAfterTriggerAndWait.batch).toBeUndefined();
572572
} finally {
573-
engine.quit();
573+
await engine.quit();
574574
}
575575
}
576576
);

internal-packages/run-engine/src/engine/tests/cancelling.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ describe("RunEngine cancelling", () => {
220220
);
221221
expect(envConcurrencyCompleted).toBe(0);
222222
} finally {
223-
engine.quit();
223+
await engine.quit();
224224
}
225225
}
226226
);
@@ -321,7 +321,7 @@ describe("RunEngine cancelling", () => {
321321
);
322322
expect(envConcurrencyCompleted).toBe(0);
323323
} finally {
324-
engine.quit();
324+
await engine.quit();
325325
}
326326
});
327327

internal-packages/run-engine/src/engine/tests/checkpoints.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1375,7 +1375,7 @@ describe("RunEngine checkpoints", () => {
13751375
});
13761376
expect(batchAfter?.status === "COMPLETED");
13771377
} finally {
1378-
engine.quit();
1378+
await engine.quit();
13791379
}
13801380
});
13811381
});

internal-packages/run-engine/src/engine/tests/delays.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ describe("RunEngine delays", () => {
8686
assertNonNullable(executionData2);
8787
expect(executionData2.snapshot.executionStatus).toBe("QUEUED");
8888
} finally {
89-
engine.quit();
89+
await engine.quit();
9090
}
9191
});
9292

@@ -183,7 +183,7 @@ describe("RunEngine delays", () => {
183183
assertNonNullable(executionData3);
184184
expect(executionData3.snapshot.executionStatus).toBe("QUEUED");
185185
} finally {
186-
engine.quit();
186+
await engine.quit();
187187
}
188188
});
189189

@@ -287,7 +287,7 @@ describe("RunEngine delays", () => {
287287

288288
expect(run3.status).toBe("EXPIRED");
289289
} finally {
290-
engine.quit();
290+
await engine.quit();
291291
}
292292
});
293293

@@ -398,7 +398,7 @@ describe("RunEngine delays", () => {
398398
expect(executionData4.snapshot.executionStatus).toBe("FINISHED");
399399
expect(executionData4.run.status).toBe("CANCELED");
400400
} finally {
401-
engine.quit();
401+
await engine.quit();
402402
}
403403
});
404404
});

internal-packages/run-engine/src/engine/tests/dequeuing.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe("RunEngine dequeuing", () => {
7777

7878
expect(dequeued.length).toBe(5);
7979
} finally {
80-
engine.quit();
80+
await engine.quit();
8181
}
8282
});
8383

@@ -169,7 +169,7 @@ describe("RunEngine dequeuing", () => {
169169
const queueLength3 = await engine.runQueue.lengthOfEnvQueue(authenticatedEnvironment);
170170
expect(queueLength3).toBe(12);
171171
} finally {
172-
engine.quit();
172+
await engine.quit();
173173
}
174174
}
175175
);

internal-packages/run-engine/src/engine/tests/pendingVersion.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ describe("RunEngine pending version", () => {
158158
);
159159
expect(queueLength2).toBe(2);
160160
} finally {
161-
engine.quit();
161+
await engine.quit();
162162
}
163163
}
164164
);
@@ -319,7 +319,7 @@ describe("RunEngine pending version", () => {
319319
);
320320
expect(queueLength3).toBe(1);
321321
} finally {
322-
engine.quit();
322+
await engine.quit();
323323
}
324324
}
325325
);

0 commit comments

Comments
 (0)