Skip to content

chore(ci): add parallel production browser tests - #893

Draft
MikaelSiidorow wants to merge 1 commit into
mainfrom
ci-smoke-test
Draft

MikaelSiidorow wants to merge 1 commit into
mainfrom
ci-smoke-test

Conversation

@MikaelSiidorow

@MikaelSiidorow MikaelSiidorow commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Description

Adds a separate Playwright workspace covering landing-page redirects, seeded pages, desktop and mobile navigation, language switching, images, and media delivery in Chromium, Firefox, and WebKit.

CI runs static checks, a browser matrix against the production Node build, and the Docker build concurrently. Each browser job seeds one MongoDB/Azurite stack shared by its parallel tests. The Docker job uses only curl to check health and bundled-image optimization. Publishing and deployment wait for all checks.

The Dockerfile prunes before installing and ships Next.js standalone output, including Sharp's native libraries. This removes the production dependency reinstall and reduces the local image from 1.69 GB to 300 MB. Cache export uses mode=min: the previous mode=max upload took 5m 12s, while reinstalling production dependencies took another 2m 11s.

Related: #615.

Validation

  • All 27 browser tests passed against the production Node server (1m 42s locally).
  • All nine Chromium flows passed against the standalone image in a one-off validation run.
  • Docker health and bundled-image optimization curl checks passed.
  • Production builds, workspace typechecks, lint, formatting, and actionlint passed.

The updated CI run passed in 3m 04s end-to-end. The Docker job dropped from 22m 43s to 2m 38s; the image build step dropped from 10m 16s to 2m 10s. All three browser matrix jobs passed.

@MikaelSiidorow MikaelSiidorow changed the title chore(ci): add production browser tests chore(ci): add parallel production browser tests Sep 18, 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