Skip to content

feat(qa): #1827 slice 4 — optional CI workflow_dispatch / path-filtered QA job #1930

Closed

Description

@natechadwick-intsof

Parent

Part of #1827 — unattended agent QA mode (H2 Docker + Playwright surface gate).

Depends on: slices 1–2 (stack + Playwright golden path); slice 3 optional but preferred for agent_safe integration docs.

Slice 4 of 4 — optional CI job only. Keep scope to workflow wiring + docs; do not re-build the Docker/Playwright product surface here.

Summary

Add an optional CI path: workflow_dispatch and/or path-filtered optional check that can bring up (or assume) the H2 Docker QA stack and run the golden / surface-filtered Playwright path for agent-friendly verification. Must remain non-blocking for unrelated PRs unless product owners later promote it.

Modules / paths (hint)

  • .github/workflows/
  • modules/perc-qa-automation
  • Docs note in docs/developer-module/workbench-rest-and-qa-modes.md

Acceptance criteria (from parent #1827, this slice)

  • Optional CI job via workflow_dispatch and/or path-filtered optional check (not a silent required gate for the whole monorepo unless intentionally designed).
  • Job uses the productized H2 Docker QA path + Playwright env (TEST_CMS_URL only for CMS target) — no host install path.
  • Can run golden smoke (slice 2) and/or surface-filtered subset (slice 3) as documented.
  • Failure artifacts (screenshots/traces/logs) uploaded as workflow artifacts.
  • Documented how agents/operators trigger the job and how results attach to PRs/issues.
  • No secrets in workflow YAML beyond approved GitHub Actions secrets patterns; no committed passwords.
  • Cross-platform / runner assumptions documented (Linux GHA runners OK; note Windows local parity is still required for scripts from earlier slices).

Out of scope (other slices)

  • Entrypoint + health + tear-down implementation → slice 1
  • Playwright wiring + golden smoke → slice 2
  • AGENTS / night-issue surface filter rules → slice 3

Non-goals (parent)

  • Full multi-RDBMS matrix CI
  • Making full Playwright suite required on every PR
  • Replacing human dev mode

Operator notes

Label PRs with operator:* + model:*. Prefer optional/manual first; promote required checks only with explicit product decision.

Activity

  1. added a commit that references this issue on Aug 5, 2026
  2. natechadwick-intsof commented on Aug 6, 2026

    @natechadwick-intsof
    CollaboratorAuthor

    Implementation (2026-08-06)

    PR: #2096
    Branch: feat/issue-1930-optional-h2-qa-ci
    Commit: ae0ed62fc4

    Delivered

    1. Optional GHA workflow H2 QA Playwright (optional) (h2-qa-playwright.yml)
      • workflow_dispatch mode=dry-run|live
      • Path-filtered PR job: freeport + perc-devctl dry-run + Playwright unit/surface list (no live CMS)
      • Live: package → qa-up → surface Playwright (TEST_CMS_URL) → upload artifacts → qa-down
    2. No committed secrets; optional secret QA_ADMIN_PASSWORD; password masked from qa-up
    3. Docs: trigger/env/artifacts/Windows-local parity in docs/developer-module/workbench-rest-and-qa-modes.md; cross-links from modules/perc-qa-automation/README.md

    Notes

    Parent progress updated on #1827.

    Co-Authored by Grok Build using grok-4.5 with agent main.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions