Skip to content

ci(e2e): split backend and frontend smoke/heavy suites, make required with retries (#389) - #465

Merged
devJaja merged 1 commit into
Epta-Node:mainfrom
MarcusDavidG:main
Aug 31, 2026
Merged

ci(e2e): split backend and frontend smoke/heavy suites, make required with retries (#389)#465
devJaja merged 1 commit into
Epta-Node:mainfrom
MarcusDavidG:main

Conversation

@MarcusDavidG

Copy link
Copy Markdown
Contributor

Summary

Resolves #389

Changes

  • Replace monolithic e2e-fullstack (continue-on-error: true) with 4 decoupled required jobs:
    • e2e-backend-smoke (registry/list/create: scenario-a-registration) — fast smoke
    • e2e-backend-heavy (WS/lifecycle: scenario-b|c|full-pipeline|agent-lifecycle)
    • e2e-frontend-smoke (registry/list/create: agent-registry.spec.ts + task-submission.spec.ts)
    • e2e-frontend-heavy (WS/lifecycle: task-monitoring.spec.ts + wallet.spec.ts + i18n.spec.ts)
  • Add detect-changes job (dorny/paths-filter@v3) so frontend-only or backend-only PRs can pass CI — skipped e2e jobs count as success
  • Configure flake auto-retry limits: nick-fields/retry@v3 with max_attempts: 3, 10-15s backoff; Playwright keeps retries: 2 on CI (in playwright.config.ts) plus outer retry
  • Upload test artifacts for flake tracking (retention 14 days) for all 4 suites (test-results-*.json + playwright-report)
  • Add required ci-gate aggregator — branch protection should require this single check; it treats skipped as success for path-filtered PRs while failing on any real failure/cancelled

Verification & Testing

  • python3 -c "import yaml; yaml.safe_load(open('.github/workflows/ci.yml'))" — YAML OK, jobs: changes, backend, frontend, contracts, e2e-backend-smoke, e2e-backend-heavy, e2e-frontend-smoke, e2e-frontend-heavy, ci-gate, contracts-integration
  • cd backend && npm run lint && npm test (skipped — pre-existing backend/package.json duplication unrelated to Split backend and frontend e2e smoke suites and make them required in CI #389)
  • cd frontend && npm run lint && npm run build (decoupled, smoke jobs run independently)
  • Verified split patterns cover all existing e2e files: backend scenario-a vs scenario-b|c|full-pipeline|agent-lifecycle; frontend smoke vs heavy covers all 5 specs

Contributor Checklist

  • PR title follows Conventional Commits
  • No secrets committed
  • Preserves existing architecture

… with retries (Epta-Node#389)

- Replace monolithic e2e-fullstack (continue-on-error) with 4 decoupled required jobs:
  - e2e-backend-smoke (registry/list/create: scenario-a-registration)
  - e2e-backend-heavy (WS/lifecycle: scenario-b|c|full-pipeline|agent-lifecycle)
  - e2e-frontend-smoke (registry/list/create: agent-registry, task-submission)
  - e2e-frontend-heavy (WS/lifecycle: task-monitoring, wallet, i18n)
- Add path-based detect-changes job (dorny/paths-filter) so frontend-only or
  backend-only PRs can pass without waiting for unrelated suites (skipped = success)
- Configure flake auto-retry: nick-fields/retry@v3 max_attempts 3, 10-15s backoff;
  Playwright retains retries:2 in config + outer retry for flake tracking
- Upload test artifacts for flake tracking (retention 14 days) for all 4 suites
- Add required ci-gate aggregator (branch protection should require this single check)
  which treats skipped as success for path-filtered PRs while failing on any real failure

Resolves Epta-Node#389
@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@MarcusDavidG Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Aug 30, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Jaja's projects Team on Vercel.

A member of the Team first needs to authorize it.

@devJaja
devJaja merged commit 717fce5 into Epta-Node:main Aug 31, 2026
7 of 11 checks passed
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.

Split backend and frontend e2e smoke suites and make them required in CI

2 participants