fix(ci): diagnose and fix Cypress E2E test failures#2249
Merged
amikofalvy merged 10 commits intomainfrom Feb 22, 2026
Merged
Conversation
Cypress tests fail on CI because the React Flow canvas renders empty -
agent nodes/edges are not present despite the agent page loading
successfully. This suggests a data loading issue rather than a
rendering issue.
Changes:
- Add diagnostic steps to CI composite action:
- Log environment variable presence (without exposing secrets)
- Query DoltgreSQL after seeding to verify agents, sub-agents exist
on both default and project-scoped branches
- Curl the full agent API endpoint to check subAgents in response
- Pin DoltgreSQL to 0.54.10 in cypress.yml (matches docker-compose.yml)
- Skip OTEL instrumentation when ENVIRONMENT=test to prevent
getNodeAutoInstrumentations() from interfering with Next.js SSR
- Add OTEL_SDK_DISABLED=true env var (belt-and-suspenders)
- Add 10-min timeout to Cypress test step so artifact uploads run
before the 30-min job timeout
- Change artifact uploads to if: always() with if-no-files-found: ignore
Root cause investigation:
The CI screenshots show the agent page loads correctly (breadcrumb
shows "Activities planner") but the React Flow canvas is completely
empty. This means the agent record exists but subAgents data is
missing from the API response. The diagnostics will reveal whether
this is a Dolt branch/commit issue or an API data loading issue.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
The embedded Python script with f-strings at column 0 broke the
GitHub Actions YAML parser ("could not find expected ':'"). Replace
with jq which handles the same JSON parsing without indentation issues.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ilure
Key findings from CI run:
- inkeep push fails 3/3 attempts with 500 error:
"Failed query: insert into "projects" ("tenant_id", "id", ..., "stop_w..."
- The project never gets seeded, explaining the empty React Flow canvas
- Diagnostic steps were skipped because push step exited non-zero
Changes:
- Bump DoltgreSQL from 0.54.10 to 0.55.4 (latest stable) to rule out
version-specific query/schema issues
- Make push step defer failure (store result in PUSH_SUCCESS env var)
so diagnostic steps can run and provide visibility
- Add explicit "Fail if push was unsuccessful" step before Cypress tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use `grep -o --` to prevent `---` from being interpreted as options - Use `SELECT dolt_checkout()` instead of `CALL dolt_checkout()` for DoltgreSQL Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove 600s timeout wrapper (rely on job's 30-min timeout instead) - Add defaultCommandTimeout: 15s in cypress.config.ts (was 4s default) - Increase typeInMonaco timeout to 20s for slow Monaco editor loading - Increase .react-flow__node timeouts to 20s in agent-tools tests Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After submitting the create agent form, wait for the URL to include '/agents/' before checking for React Flow nodes. Without this wait, the test looks for nodes while still on the projects page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Log the HTTP method, URL, status code, and error response body when saving an agent to debug why 'Agent saved' toast doesn't appear. Also broadened intercept pattern to catch all HTTP methods. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
cy.log() only appears in the Cypress UI command log, not in terminal
output. Using cy.task('log', ...) writes to stdout/CI logs instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove save diagnostic cy.task() calls from agent-tools test. Restore original 'POST', '**/agents/*' intercept (the change to '**/agent/*' was matching wrong URLs and breaking cy.wait). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
inkeep pushINSERT failures that broke seed datacy.task('log')handler for CI-visible stdout loggingRoot causes found and fixed
latesttag broke INSERT compatibility — pinned to 0.55.4ENVIRONMENT !== 'test'checkcy.url().should('include', '/agents/')typeInMonacotimeout too short for CI — increased to 20sPre-existing failures (not addressed by this PR)
Three tests fail on
mainas well (introduced between Feb 19-20, unrelated to CI config):agent-tools.cy.ts"Editing sub-agent ID" — save action fails ("Agent saved" toast never appears)components.cy.ts— sonner toast element not foundskills.cy.ts"should create a skill" — Server Components render error on skills pageTest plan
main(not regressions from this PR)🤖 Generated with Claude Code