-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.test.yml
More file actions
56 lines (52 loc) · 1.94 KB
/
docker-compose.test.yml
File metadata and controls
56 lines (52 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Multi-runtime test matrix.
#
# Usage:
# docker compose -f docker-compose.test.yml --profile node22 up --build # Node 22 only
# docker compose -f docker-compose.test.yml --profile full up --build # All runtimes
#
# Profiles:
# node20 — Node 20 (unit + integration + BATS CLI)
# node22 — Node 22 (unit + integration + BATS CLI)
# bun — Bun (API integration only)
# deno — Deno (API integration only)
# full — All four runtimes in parallel
services:
# Node 20 (LTS maintenance): unit + API integration + BATS CLI
test-node20:
build:
context: ..
dockerfile: git-warp/docker/Dockerfile.node20
environment:
- GIT_STUNTS_DOCKER=1
command: ["sh", "-c", "npx vitest run test/unit test/integration && bats test/bats/"]
profiles: [node20, full]
# Node 22 (LTS active): unit + API integration + BATS CLI
test-node22:
build:
context: ..
dockerfile: git-warp/docker/Dockerfile.node22
environment:
- GIT_STUNTS_DOCKER=1
command: ["sh", "-c", "npx vitest run test/unit test/integration && bats test/bats/"]
profiles: [node22, full]
# Bun: API integration tests only (CLI is Node-only).
# Bitmap index tests pass via roaring-wasm WASM fallback (native roaring uses
# V8 C++ API, incompatible with Bun's JSC runtime).
test-bun:
build:
context: ..
dockerfile: git-warp/docker/Dockerfile.bun
environment:
- GIT_STUNTS_DOCKER=1
command: bunx vitest run test/integration/api/
profiles: [bun, full]
# Deno: API integration tests via Deno.test() wrappers
test-deno:
build:
context: ..
dockerfile: git-warp/docker/Dockerfile.deno
environment:
- GIT_STUNTS_DOCKER=1
# Keep allow-scripts package names aligned with package.json dependencies.
command: ["deno", "test", "--allow-all", "--allow-scripts=npm:roaring,npm:cbor-extract", "--node-modules-dir=manual", "test/runtime/deno/"]
profiles: [deno, full]