# 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"]