cypress-io / cypress-example-kitchensink

This is an example app used to showcase Cypress.io testing.
https://example.cypress.io/
MIT License
1.2k stars 2.2k forks source link

CircleCI bad engine warnings `linux-build`: node ^18.18.0 required #857

Closed MikeMcC399 closed 2 weeks ago

MikeMcC399 commented 3 weeks ago

Issue

The .circleci/config.yml workflow shows multiple EBADENGINE warnings due to recently updated ESLint dependencies.

The dependencies are requiring typically node: '^18.18.0 || ^20.9.0 || >=21.1.0' whereas CircleCI is running under node: 'v18.16.1'

Windows and Mac workflows have been fixed to use Node.js 20.x. The linux-build workflow remains unresolved:

Workflow Job Node.js
linux-build 3 machines v18.16.1
" 2 machines using Firefox v18.16.1
" 2 machines using Chrome v18.16.1

Example https://app.circleci.com/pipelines/github/cypress-io/cypress-example-kitchensink/1895/workflows/dee2d257-dfe0-4d11-8f64-1c420a841c0a/jobs/13039

Installing NPM packages

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@eslint/config-array@0.15.1',
npm WARN EBADENGINE   required: { node: '^18.18.0 || ^20.9.0 || >=21.1.0' },
npm WARN EBADENGINE   current: { node: 'v18.16.1', npm: '9.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@eslint/eslintrc@3.1.0',
npm WARN EBADENGINE   required: { node: '^18.18.0 || ^20.9.0 || >=21.1.0' },
npm WARN EBADENGINE   current: { node: 'v18.16.1', npm: '9.5.1' }
...

Logs

From https://app.circleci.com/pipelines/github/cypress-io/cypress-example-kitchensink/1895/workflows/dee2d257-dfe0-4d11-8f64-1c420a841c0a/jobs/13039

Spin up environment

Build-agent version 1.0.242569-ea90527c (2024-07-03T15:30:52+0000).
System information:
 Server Version: 24.0.9
 Storage Driver: overlay2
  Backing Filesystem: xfs
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Kernel Version: 5.15.0-1057-aws
 Operating System: Ubuntu 20.04.6 LTS
 OSType: linux
 Architecture: x86_64

Starting container cimg/node:18.16.1-browsers

Expected result

.node-version is set to 20, so CircleCI jobs should also run in all workflows under Node.js 20

MikeMcC399 commented 3 weeks ago

I need some assistance on this issue or I need to pass it on to somebody familiar with CircleCI and the Cypress CircleCI Orb.

This could mean that an enhancement to the CircleCI Orb would be necessary or that the .circleci/config.yml workflows job linux-build in this repo would need to be restructured to be able to run under Node.js 20.x.

MikeMcC399 commented 3 weeks ago