ci(qa): implement whole-app tiered CI safety net and E2E contract suite#148
Open
khaira777 wants to merge 2 commits into
Open
ci(qa): implement whole-app tiered CI safety net and E2E contract suite#148khaira777 wants to merge 2 commits into
khaira777 wants to merge 2 commits into
Conversation
- Redesign .github/workflows/ci.yml with path-filtering, least-privilege permissions, dependency review, and 40-character action SHA pinning. - Offload cross-platform packaging & test matrix to nightly-release.yml. - Create tests/e2e-server.cjs for isolated dual-server test bootstrap with deterministic seeded credentials (owner, manager, chef). - Add tests/smoke-test.test.ts to verify dual-server health and auth. - Add tests/kds-integration.test.ts with real WebSocket client assertions for auth handshake, REST status broadcasts, and Main API order updates. - Configure frontend Playwright E2E with Playwright webServer health polling on :3002 to eliminate startup races. - Implement frontend/e2e/kds-login.spec.ts for KDS login & session persistence. - Implement frontend/e2e/layout-integrity.spec.ts for POS 44px touch targets. - Harden .github/workflows/release.yml with commit SHA pins and job timeouts. - Update docs/QA_CI_STRATEGY_REVIEW.md with whole-app contract strategy.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Build a tiered safety net for every product boundary. This PR introduces dual-server process smoke testing, KDS WebSocket realtime mutation contracts, Playwright E2E browser tests for KDS login/session persistence and POS 44px touch targets, and full CI/release workflow hardening.
Key Changes
.github/workflows/ci.yml,nightly-release.yml, andrelease.yml. Added path filtering, least-privilege permissions, dependency review, and job timeouts.tests/e2e-server.cjsto boot compiled Main API (:3001) and Standalone KDS (:3002) with deterministic test data in an isolated temporary directory.tests/smoke-test.test.tsto verify simultaneous dual-server health and owner authentication.tests/kds-integration.test.tswith a real WebSocket client to verify auth handshakes, REST status broadcasts, Main API order update events, and role denial for non-kitchen roles.webServerreadiness polling onhttp://127.0.0.1:3002/api/healthto eliminate startup races. Addede2e/kds-login.spec.tsfor login/session restoration ande2e/layout-integrity.spec.tsfor POS 44px touch targets.docs/QA_CI_STRATEGY_REVIEW.mdreflecting the whole-app tiered CI strategy.Verification
npm run lint: PASSnpm run build: PASSnpm test: PASS (All 55 test suites passing)cd frontend && npm run test:e2e: PASS (2/2 Playwright specs passing)