# Playwright base ships WebKit + all OS deps. Pin must match @playwright/test in
# package.json. Verify tag exists: https://mcr.microsoft.com/en-us/product/playwright/tags
FROM mcr.microsoft.com/playwright:v1.50.0-jammy

WORKDIR /e2e

# minio client for artifact upload (video/trace → MinIO bucket)
RUN curl -sSLo /usr/local/bin/mc https://dl.min.io/client/mc/release/linux-amd64/mc \
    && chmod +x /usr/local/bin/mc

COPY package.json ./
RUN npm install --no-audit --no-fund

COPY . .

# run-and-upload.sh runs the suite, uploads artifacts regardless of result,
# then exits with the suite's real exit code so the Job/gate reflects pass/fail.
ENTRYPOINT ["/e2e/run-and-upload.sh"]
