Skip to content

feat: PDF export, evidence report, date filtering, S3 SSL toggle#174

Open
khanzzirfan wants to merge 3 commits intoCyborgTests:mainfrom
khanzzirfan:fix/ssl-disable-for-s3
Open

feat: PDF export, evidence report, date filtering, S3 SSL toggle#174
khanzzirfan wants to merge 3 commits intoCyborgTests:mainfrom
khanzzirfan:fix/ssl-disable-for-s3

Conversation

@khanzzirfan
Copy link
Copy Markdown

@khanzzirfan khanzzirfan commented May 1, 2026

Summary

This PR delivers several independent improvements across the server:

  • S3 SSL toggle — adds S3_USE_SSL env var so users can disable TLS for non-SSL MinIO setups (was hardcoded true)
  • PDF and evidence export — new download endpoints that generate PDFs via headless Chromium; evidence PDF embeds per-test screenshots with pass/fail badges

Changes

Bug fix

  • app/lib/storage/s3.tsuseSSL now reads from S3_USE_SSL env var (defaults true); was unconditionally true, breaking plain-HTTP MinIO deployments

New features

PDF / evidence export

  • app/api/report/[id]/export/route.ts — ZIP and PDF export for a single report (renders the Playwright HTML report SPA via headless Chromium)
  • app/api/download/[id]/route.ts — unified download handler supporting ?format=zip|pdf|evidence; the evidence format generates a standalone A4 PDF with summary stats, per-test outcome badges, file/line info, and embedded first screenshot per test
  • Dockerfile — installs chromium via apk and sets PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH; copies all three Playwright packages (@playwright/test, playwright, playwright-core) into the standalone image and creates the npx playwright symlink

Docs

  • .env.exampleS3_USE_SSL documented
  • readme.md — updated env var table and storage section

Test plan

  • S3/MinIO connection succeeds with S3_USE_SSL=false (plain HTTP endpoint)
  • PDF download renders the Playwright HTML report correctly (auth-forwarding cookies tested)
  • Evidence PDF contains per-test rows with embedded screenshots
  • npx playwright test --project=api passes
  • npx playwright test --project=ui passes
  • Docker image builds cleanly (docker compose build --no-cache) and /api/ping returns 200

@khanzzirfan khanzzirfan changed the title feat: PDF export, evidence report, date filtering, S3 SSL toggle, and Jira removal feat: PDF export, evidence report, date filtering, S3 SSL toggle May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant