Hold the shipped source to ECMAScript alone, and run the suite on Deno and Bun
CI / gate (push) Successful in 18s

This commit is contained in:
2026-09-01 16:44:32 +02:00
parent ece3828122
commit 1b7f66546e
7 changed files with 55 additions and 8 deletions
+10 -5
View File
@@ -2,13 +2,15 @@
set -euo pipefail
cd "$(dirname "$0")"
image=node:24.19.0-alpine3.24
in_node() { docker run --rm -u "$(id -u):$(id -g)" -e HOME=/tmp -v "$PWD:/app" -w /app "$image" "$@"; }
bun_image=oven/bun:1.4.0-alpine
deno_image=denoland/deno:2.9.6
node_image=node:24.19.0-alpine3.24
in_image() { docker run --rm -u "$(id -u):$(id -g)" -e HOME=/tmp -v "$PWD:/app" -w /app --entrypoint "$2" "$1" "${@:3}"; }
in_node npm ci
in_node npm run typecheck
in_image "$node_image" npm ci
in_image "$node_image" npm run typecheck
if ! test_output=$(in_node npm test 2>&1); then
if ! test_output=$(in_image "$node_image" npm test 2>&1); then
printf '%s\n' "$test_output"
exit 1
fi
@@ -17,3 +19,6 @@ if printf '%s' "$test_output" | grep -q ' tests 0'; then
echo 'the gate ran zero tests — failing instead of a vacuous green'
exit 1
fi
in_image "$deno_image" deno test --allow-read --no-check src/
in_image "$bun_image" bun test