# The gate's own image (test/zero-hosts.mjs): Chromium and playwright-core, # with the test files and the glue baked in, because the CI runner passes the # host's Docker socket through and a mounted workspace would be empty. FROM public.ecr.aws/docker/library/node:20-alpine RUN apk add --no-cache chromium WORKDIR /gate RUN npm init -y >/dev/null && npm install --no-audit --no-fund --silent playwright-core@1.63.0 COPY test/ ./test/ COPY glue/ ./glue/ RUN node --check glue/handoff.js ENV PLAYWRIGHT_CORE=/gate/node_modules/playwright-core/index.mjs \ CHROMIUM=/usr/bin/chromium-browser CMD ["node", "test/zero-hosts.mjs"]