Hold the shipped source to ECMAScript alone, and run the suite on Deno and Bun
CI / gate (push) Successful in 18s
CI / gate (push) Successful in 18s
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user