Files
adf-codec/docker-runner.sh
lilleman 4d13583d6e
CI / gate (push) Successful in 5m19s
CI / publish (push) Has been skipped
5d: re-raise the interrupt so a signalled gate does not exit 0
2026-09-04 11:13:42 +02:00

24 lines
781 B
Bash

bun_image=oven/bun:1.4.0-alpine
deno_image=denoland/deno:2.9.6
firefox_image=selenium/standalone-firefox:153.0.4
floor_image=node:18.20.8-alpine3.21
node_image=node:24.19.0-alpine3.24
in_image() {
local image=$1 entrypoint=$2
shift 2
docker run --rm -u "$(id -u):$(id -g)" -e HOME=/tmp ${in_image_network:+--network "$in_image_network"} -v "$PWD:/app" -w /app --entrypoint "$entrypoint" "$image" "$@"
}
with_firefox() {
local container in_image_network status=0
container=$(docker run -d --rm "$firefox_image")
# The id is baked in: the trap fires after this function's locals are gone.
trap "docker rm -f $container >/dev/null 2>&1" EXIT
trap 'exit 130' INT
trap 'exit 143' TERM
in_image_network="container:$container"
"$@" || status=$?
return $status
}