Skip to content

[Chore]Update Cypress from v14.0.2 to v15.9.0 and upgrade CI Node.js versions to meet requirements #5375

@vanshika2720

Description

@vanshika2720

Summary

Update Cypress from v14.0.2 to v15.9.0 and upgrade CI Node.js versions to meet requirements.

Parent Issue

Closes part of #5364 #5369 (Remaining Dependency Updates)

Current State

  • Current Version: cypress@14.0.2
  • Target Version: cypress@15.9.0
  • Blocker: Requires Node.js 20.1+ (CI currently uses Node 18.x which is EOL)

Motivation

  • Node.js 18.x reached End of Life on April 30, 2025
  • Cypress 15 includes bug fixes and new features
  • Better browser support
  • Security updates

Implementation Plan

Phase 1: Update CI Node.js Versions

Update .github/workflows/node.js.yml:

Before:

strategy:
  matrix:
    node-version: [18.x, 20.x, 22.x]

After:

strategy:
  matrix:
    node-version: [20.x, 22.x, 24.x]

Rationale:

  • Node.js 18.x is EOL
  • Cypress 15 requires Node.js 20.1+
  • Testing on 20.x, 22.x, 24.x covers current LTS and latest versions

Phase 2: Update Cypress

npm install --save-dev cypress@^15.9.0

Phase 3: Verify Cypress Configuration

Check cypress.config.js (or cypress.json) for any deprecated options:

// Ensure configuration is compatible with Cypress 15
// Most configs should work without changes

Phase 4: Run Cypress Tests

npm run cypress:run

Expected: All existing tests should pass.

Testing Checklist

Automated Tests

  • npm run cypress:run passes locally
  • All Cypress test specs pass
  • No new warnings or errors
  • Screenshots/videos are generated correctly

CI/CD Verification

  • CI runs on Node.js 20.x
  • CI runs on Node.js 22.x
  • CI runs on Node.js 24.x
  • All matrix builds pass

Manual Verification (Optional)

npx cypress open
  • Cypress Test Runner opens
  • Can select and run tests interactively
  • Browser selection works

Breaking Changes in Cypress 15

1. Node.js Requirement

  • Minimum: Node.js 20.1.0
  • Recommended: Node.js 20.x LTS or higher

2. Deprecated APIs Removed

Check Cypress 15 Changelog for any APIs that were deprecated in v14 and removed in v15.

3. Browser Support

Cypress 15 may drop support for older browser versions. Verify that the browsers used in CI are still supported.

Files Modified

  • package.json - Update Cypress version
  • package-lock.json - Auto-generated
  • .github/workflows/node.js.yml - Update Node.js versions

CI/CD Impact

Current CI Setup

# .github/workflows/node.js.yml
strategy:
  matrix:
    node-version: [18.x, 20.x, 22.x]

Updated CI Setup

# .github/workflows/node.js.yml
strategy:
  matrix:
    node-version: [20.x, 22.x, 24.x]

Impact:

  • Removes Node.js 18.x (EOL)
  • Adds Node.js 24.x (latest)
  • Ensures Cypress 15 compatibility

Benefits

  • ✅ Latest Cypress features and bug fixes
  • ✅ Better performance
  • ✅ Improved browser support
  • ✅ Security updates
  • ✅ Active maintenance
  • ✅ CI runs on supported Node.js versions

Rollback Plan

If issues arise:

# Revert Cypress
npm install --save-dev cypress@14.0.2

# Revert CI Node.js versions
# Edit .github/workflows/node.js.yml back to [18.x, 20.x, 22.x]

Compatibility Notes

Local Development

Already compatible - Using Node.js 24.11.1

CI/CD

⚠️ Requires update - Need to remove Node.js 18.x from CI matrix

Dependencies

No conflicts - Cypress 15 works with existing dependencies

Migration Checklist

  • Update .github/workflows/node.js.yml
  • Update package.json Cypress version
  • Run npm install
  • Run npm run cypress:run locally
  • Verify all tests pass
  • Push changes and verify CI passes
  • Check all Node.js versions in CI matrix

References

Contributor

@vanshika2720


Note for Reviewers: This update is necessary because Node.js 18.x is EOL. The Cypress update itself is straightforward, but requires updating the CI Node.js matrix.

Checklist

  • I have read and followed the project's code of conduct.
  • I have searched for similar issues before creating this one.
  • I have provided all the necessary information to understand and reproduce the issue.
  • I am willing to contribute to the resolution of this issue.

Thank you for contributing to our project! We appreciate your help in improving it.

📚 See contributing instructions.

🙋🏾🙋🏼 Questions: Community Matrix Server.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions