-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathDockerfile.e2e
More file actions
30 lines (26 loc) · 1.01 KB
/
Copy pathDockerfile.e2e
File metadata and controls
30 lines (26 loc) · 1.01 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
# E2E image for billion-context-pi.
#
# Pins a known Pi host version + Node major so the regression suite is
# reproducible regardless of whatever happens to be installed on the runner.
#
# The Pi host (@earendil-works/pi-coding-agent) is pinned by devDependencies
# in package.json (exact, no caret) and resolved via `npm ci` from the
# lockfile. Bump it there (and refresh package-lock.json) to move the suite
# to a newer Pi; CI will fail fast if the pinned version is unavailable.
#
# Build: docker build -t bcp-e2e -f Dockerfile.e2e .
# Run: docker run --rm bcp-e2e
# Filter: docker run --rm bcp-e2e 03-nudge
#
FROM node:22-slim
WORKDIR /app
# Install only the lockfile first for better layer caching.
COPY package.json package-lock.json ./
RUN npm ci
# Source + build the extension (produces dist/index.js).
COPY tsup.config.ts tsconfig.json ./
COPY src ./src
COPY scripts ./scripts
RUN npm run build
# Default entrypoint: run every scenario. Pass a substring arg to filter.
ENTRYPOINT ["node", "./scripts/e2e/run-e2e.mjs"]