Skip to content

Playwright end-to-end smoke tests in CI #39

Description

@pavlof01

Context

CI runs unit tests per package (.github/workflows/ci.yml) and scripts/smoke-test.sh curls the deployed API. Nothing exercises the browser: the playground, the pipeline page, the two spec visualizers and both embed widgets can all break in a way that every unit test still passes — a broken Monaco mount, a store wiring mistake, a portal component that fails to open.

Proposal

  • Playwright suite against docker compose up, covering the paths that would embarrass us if broken:
    • /playground — type a snippet, run it, assert bytecode appears for V8.
    • /v8-pipeline — switch stages, assert each stage renders.
    • /type-conversion and /equality — trace an expression, step through it.
    • /embed/bytecode — snapshot link renders without the app shell.
  • Run on pull requests with engine services stubbed or with the real compose stack, whichever keeps the job under a few minutes.
  • Traces and screenshots uploaded as artifacts on failure.

Acceptance criteria

  • The suite fails when a page throws on mount.
  • Total CI time stays within the existing 15-minute job timeout.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions