Skip to content

ci: run the Cypress plugins file on Cypress's bundled Node - #879

Merged
danielfsousa merged 1 commit into
mainfrom
ci/cypress-bundled-node
Oct 21, 2026
Merged

danielfsousa merged 1 commit into
mainfrom
ci/cypress-bundled-node

Conversation

@danielfsousa

@danielfsousa danielfsousa commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What Changed

The Cypress Tests workflow fails on every pull request, and has since at least 2026-10-09. The first spec crashes in the plugins file with Error: error:0308010C:digital envelope routines::unsupported, the next spec hangs, and the job is cancelled at its 30-minute timeout.

Since Cypress 9, the plugins file runs on the Node that launched Cypress. cypress-io/github-action@v6 launches it from the runner's own Node 24, as the run header shows: Node Version: v24.19.0 (/home/runner/actions-runner/cached/2.337.0/externals/node24/bin/node), not the job's Node 16. Cypress 9's built-in webpack 4 hashes with MD4, which OpenSSL 3 in Node 17 and later rejects.

"nodeVersion": "bundled" in cypress.json runs the plugins file on the Node that ships with Cypress 9 instead, whatever launched it. The option is deprecated and was removed in Cypress 13, so a Cypress upgrade removes this line too.

Example of a failed run: https://github.com/SparkPost/support-docs/actions/runs/39530932672

Proof

Run on this PR on 2026-10-21, commit 8cd2b4df: https://github.com/SparkPost/support-docs/actions/runs/39534587871

Spec Result
404.spec.ts 1 passing
index.spec.ts 1 passing
subpage.spec.ts 8 passing
Job passed in 2m7s, against 30 minutes and cancelled before

How To Test or Verify

The Cypress Tests check on this PR runs all 3 specs (404.spec.ts, index.spec.ts, subpage.spec.ts), and the run header shows the bundled Node rather than externals/node24.

  • Meaningful name
  • Lowercase filenames
  • Team label: team - FE

Note

Low Risk
Single CI config flag in cypress.json; no app or test logic changes, only how Cypress runs its plugins in GitHub Actions.

Overview
Fixes failing Cypress CI by setting "nodeVersion": "bundled" in cypress.json so the plugins file runs on Cypress 9’s bundled Node instead of the runner’s Node 24.

That avoids the digital envelope routines::unsupported crash from webpack 4 / MD4 hashing under OpenSSL 3. The option is deprecated in Cypress 9 and removed in Cypress 13, so it should be dropped when Cypress is upgraded.

Reviewed by Cursor Bugbot for commit 8cd2b4d. Bugbot is set up for automated code reviews on this repo. Configure here.

@danielfsousa danielfsousa added the team - FE Frontend Engineering team is the subject matter expert and need to approve this PR label Oct 21, 2026
@danielfsousa danielfsousa self-assigned this Oct 21, 2026
@netlify

netlify Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for support-docs ready!

Name Link
🔨 Latest commit 8cd2b4d
🔍 Latest deploy log https://app.netlify.com/projects/support-docs/deploys/6ad826ca3ac3aa9a17504225
😎 Deploy Preview https://deploy-preview-879--support-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.

@danielfsousa

Copy link
Copy Markdown
Contributor Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 8cd2b4d. Configure here.

@danielfsousa
danielfsousa marked this pull request as ready for review October 21, 2026 02:50
@danielfsousa
danielfsousa merged commit fb90501 into main Oct 21, 2026
8 checks passed
@danielfsousa
danielfsousa deleted the ci/cypress-bundled-node branch October 21, 2026 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👀 needs review team - FE Frontend Engineering team is the subject matter expert and need to approve this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants