fix(ci): add Cypress E2E workflow#266
Merged
prajjwalkumar17 merged 38 commits intomainfrom Apr 29, 2026
Merged
Conversation
- Build Decision Engine once from PR source and share as artifact - Run 10 Cypress spec files in parallel across matrix jobs - Each job starts isolated stack with API + deps - Upload screenshots on failure with 7-day retention
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a GitHub Actions workflow intended to run Cypress E2E tests in CI, and updates the dashboard’s Euclid rule builder UI plus Cypress specs to cover new/updated rule-building behaviors.
Changes:
- Add a new
.github/workflows/cypress.ymlworkflow that builds the Decision Engine Docker image once and runs Cypress specs in parallel via a matrix. - Extend/refresh the Euclid Rules UI (nested branches, multi-value enum operators, volume split outputs, gateway suggestions) and supporting CSS.
- Replace the prior single Euclid rules UI spec with multiple focused Cypress UI specs and shared helper utilities.
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| website/src/types/api.ts | Adds rule_id? to RoutingAlgorithm to accommodate differing create vs list responses. |
| website/src/index.css | Adds .cond-select styling for compact, consistent inline selects. |
| website/src/components/pages/EuclidRulesPage.tsx | Major Euclid rule builder UX/feature expansion (multi-value enum operators, nested branches, volume-split outputs, suggestions). |
| cypress/support/euclid-helpers.js | New shared Cypress helper functions for Euclid rules specs (scoping and common interactions). |
| cypress/e2e/ui/euclid-rules.cy.js | Removes the old monolithic Euclid rules UI test. |
| cypress/e2e/ui/euclid-rules-lifecycle.cy.js | Adds lifecycle coverage (create, activate/deactivate, view/hide JSON, summaries). |
| cypress/e2e/ui/euclid-rules-builder.cy.js | Adds UI-only builder interaction coverage (conditions, OR groups, JSON preview, validation). |
| cypress/e2e/ui/euclid-rules-advanced.cy.js | Adds advanced feature coverage (multi-value enums, nested branches, volume split + split+priority outputs, API assertions). |
| .github/workflows/cypress.yml | Adds the parallelized Cypress CI workflow with Docker image artifact sharing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add explicit permissions block to address CodeQL security findings: - contents: read (for checkout and file operations) - actions: read (for artifact upload/download)
- Change health check from /health to /health/ready for proper readiness - Add both website/package-lock.json and root package-lock.json to cache - Configure preview.proxy in vite.config.ts for API routing - Change VITE_API_BASE_URL to VITE_API_BASE_PATH for CI builds
- Use docker/build-push-action@v5 with GHA cache - Enable BuildKit layer caching via cache-from/cache-to - Optimize Dockerfile.postgres for dependency caching - Cache Cargo dependencies before copying source code
Project doesn't use workspace structure with crates/ directory
- Remove double compilation (dummy + real build) - Remove CARGO_INCREMENTAL=0 to enable incremental builds - Docker layer caching via GHA is sufficient optimization
…juspay/decision-engine into feature/add-cypress-ci-workflow
prajjwalkumar17
previously approved these changes
Apr 29, 2026
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.
This PR adds a GitHub Actions workflow to run Cypress E2E tests in CI.
What this does
Workflow overview
Specs covered
Expected timing
Part of the Cypress CI plan documented in