Skip to content

Conversation

Copy link

Copilot AI commented Nov 11, 2025

Replaces monolithic CI scaffold with two parallel workflows optimized for speed and resource efficiency per qa_vibe.json requirements.

Changes

New Workflows

  • backend-test.yml - Runs encore test on backend changes only (15m timeout)
  • frontend-e2e.yml - Runs Playwright E2E with backend service on frontend/backend changes (20m timeout)

Architecture

# Parallel execution with path-based filtering
on:
  paths:
    - 'backend/**'      # backend-test.yml
    - 'frontend/**'     # frontend-e2e.yml
    - 'backend/**'      # frontend-e2e.yml (needs backend for integration)

# Result: ~10-15min total (parallel) vs ~20-25min (sequential)

Optimizations

  • Bun dependency caching (keyed by bun.lock)
  • Playwright browser caching (Chromium-only for CI speed)
  • Concurrency cancellation for outdated runs
  • Backend health polling before E2E execution

Documentation

  • Architecture diagrams and workflow breakdowns in .github/workflows/README.md
  • Troubleshooting guide for common CI failures
  • Rationale for encore test vs direct vitest invocation

Key Design Decisions

Frontend E2E depends on backend: E2E tests validate complete user workflows including API calls and event streaming, requiring backend service availability.

Separate workflows over monolithic: Path-based filtering prevents unnecessary runs. Backend tests skip when only frontend changes, saving ~10 minutes per PR.

All validation passing: actionlint, yamllint, shellcheck

Original prompt

Load: qa_vibe.json

Streamline the pr flow with improved github CI workflows
One run for the backend encore test and one run for e2e frontend.
Go through the qa vibe to layer ci workflows to for fast parallel runs.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.


Note

Introduces two parallel GitHub Actions for backend Encore tests and frontend Playwright E2E (with backend), plus comprehensive README updates for architecture, usage, and troubleshooting.

  • CI/Workflows:
    • backend-test.yml:
      • Triggers on backend/** changes (push/PR to main/develop).
      • Sets up Bun and Encore CLI; caches Bun deps; runs encore test; uploads artifacts.
      • Concurrency cancellation; 15m timeout.
    • frontend-e2e.yml:
      • Triggers on frontend/** and backend/** changes (push/PR to main/develop).
      • Caches Bun deps and Playwright browsers (Chromium-only); installs system deps conditionally.
      • Starts backend via encore run with health polling; builds frontend; runs Playwright E2E; uploads logs/reports/results.
      • Concurrency cancellation; 20m timeout.
  • Docs:
    • Update /.github/workflows/README.md to mark CI active and document parallel architecture, triggers, caching, timeouts, artifacts, troubleshooting, and planned workflows.

Written by Cursor Bugbot for commit 0d31386. This will update automatically on new commits. Configure here.

nirukk52 and others added 4 commits November 10, 2025 20:21
- Fixed E2E test hangs by racing navigation + API calls with Promise.all()
- Replaced 3-test suite with single deterministic run-validation test
- Added data-testid attributes to run-events and discovered-screens
- Updated frontend development + debugging skills with E2E patterns
- Integrated spec-kit as submodule for spec-driven development
- Added Appium startup script for automated mobile testing

Test result: ✅ 1 passed (5.7s)
Resolves: BUG-015, BUG-014 validation
@vercel
Copy link

vercel bot commented Nov 11, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
screengraph Ready Ready Preview Comment Nov 11, 2025 9:14am

- Created backend-test.yml for Encore test execution
- Created frontend-e2e.yml for Playwright E2E tests with backend service
- Updated workflows README with new architecture documentation
- Workflows run in parallel with path-based filtering for speed
- Added dependency caching and concurrency cancellation
- Included comprehensive troubleshooting guide

Co-authored-by: nirukk52 <28961063+nirukk52@users.noreply.github.com>
- Quote variables in shell scripts to prevent word splitting
- Fixes actionlint validation errors
- All workflows now pass actionlint validation

Co-authored-by: nirukk52 <28961063+nirukk52@users.noreply.github.com>
- Add explanation of why encore test is used over vitest directly
- Document E2E workflow's dependency on backend service
- Clarify integration testing approach
- Improve troubleshooting guidance

Co-authored-by: nirukk52 <28961063+nirukk52@users.noreply.github.com>
Copilot AI changed the title [WIP] Streamline PR flow with improved GitHub CI workflows Implement parallel CI workflows for backend and frontend testing Nov 11, 2025
Copilot AI requested a review from nirukk52 November 11, 2025 09:18
@nirukk52 nirukk52 marked this pull request as ready for review November 11, 2025 18:34
sleep 2
done
env:
BACKEND_PORT: 4000
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Backend Health Check: Silent Failure, Delayed Errors.

The backend health check loop exits without verifying success. If the backend fails to start within 60 seconds, the workflow silently continues to build and test, causing cryptic failures later instead of failing fast with a clear error about backend unavailability.

Fix in Cursor Fix in Web

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.

2 participants