Skip to content

chore(cypress): extract cypress into top-level package and upgrade to v15#2257

Open
wreality wants to merge 7 commits intomasterfrom
chore/cypress-reorg
Open

chore(cypress): extract cypress into top-level package and upgrade to v15#2257
wreality wants to merge 7 commits intomasterfrom
chore/cypress-reorg

Conversation

@wreality
Copy link
Copy Markdown
Contributor

@wreality wreality commented Apr 8, 2026

Summary

Reorganizes cypress tests into their own top-level cypress/ package so they can be installed and run independently of the Quasar client build, then upgrades cypress to v15.

  • Extract client/test/cypresscypress/ with its own package.json, yarn.lock, eslint config, and cypress.config.cjs. Removes cypress deps and eslint overrides from client/. Updates root package.json, .lando.extras.yml, the e2e workflow, and docs to reference the new path.
  • Upgrade cypress to v15, fix browser launch config, and resolve SSL / node engine errors in the cypress container.
  • CI add a lint-cypress job and a cypress path filter so cypress-only changes trigger the right jobs.

Test plan

  • lando rebuild brings up the cypress service cleanly
  • cd cypress && lando cypress run passes
  • cd cypress && yarn lint passes
  • CI lint-cypress job runs on cypress-touching PRs
  • e2e workflow (do-test-e2e) runs cypress from cypress/

@netlify
Copy link
Copy Markdown

netlify bot commented Apr 8, 2026

Deploy Preview for pilcrow-docs ready!

Name Link
🔨 Latest commit 4ac72b7
🔍 Latest deploy log https://app.netlify.com/projects/pilcrow-docs/deploys/69dc0aa6c5b9db0008a65d53
😎 Deploy Preview https://deploy-preview-2257--pilcrow-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Move cypress tests from client/test/cypress to a top-level cypress/
directory with its own package.json so cypress can be installed and
run independently of the Quasar client build.

- New cypress/ package with its own eslint config and cypress.config.cjs
- Remove cypress deps and eslint overrides from client/
- Drop test/cypress from client/tsconfig.json exclude
- Update root package.json, .lando.extras.yml, e2e workflow and docs
  to reference the new cypress/ path
- Bump cypress to v15 in cypress/package.json and lockfile
- Fix browser launch config in cypress.config.cjs for v15
- Resolve SSL and node engine errors in the cypress container
- Update do-test-e2e workflow for the new cypress version
Add a lint-cypress job that runs yarn lint in the new cypress/
package on PRs touching cypress files, and wire a cypress path
filter into the changes job.
@wreality wreality force-pushed the chore/cypress-reorg branch from 7467695 to 4ac72b7 Compare April 12, 2026 21:12
@cypress
Copy link
Copy Markdown

cypress bot commented Apr 12, 2026

Collaborative Community Review Upstream    Run #13866

Run Properties:  status check passed Passed #13866  •  git commit acc528d97e ℹ️: Merge 1462a831e48bd89678644351e12910eba0a6cd7c into e36ad7a4d429ac5c53f22b33c6d0...
Project Collaborative Community Review Upstream
Branch Review chore/cypress-reorg
Run status status check passed Passed #13866
Run duration 03m 15s
Commit git commit acc528d97e ℹ️: Merge 1462a831e48bd89678644351e12910eba0a6cd7c into e36ad7a4d429ac5c53f22b33c6d0...
Committer Brian Adams
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 115
View all changes introduced in this branch ↗︎

…handling

The build-image action's version output is empty because
pilcrow-toolkit's parse-build-output never sets it. Work around this
by extracting the version from the tags output instead.

Also fix the resetDb cypress task which crashed the config file on
GraphQL errors due to a missing return before reject().
const https = require("https")
const axios = axiosImport.create({
httpsAgent: new https.Agent({
rejectUnauthorized: false
The fpm image doesn't include the SSL cert verification fix that was
added to the unit-test Dockerfile stage. Add it at runtime in the
start-stack action before running migrate:fresh.
Sanctum needs the port in stateful domains for non-standard ports.
Without this, session cookies aren't sent on localhost:8888 requests,
causing all authenticated tests to fail.
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