cypress-example-kitchensink
cypress-example-kitchensink copied to clipboard
CircleCI bad engine warnings: node ^18.18.0 required
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'
The workflows are using an inconsistent collection of Node.js versions
| Workflow | Job | Node.js |
|---|---|---|
| win-build | win-test-firefox | v20.11.0 |
| " | win-test-chrome | v20.11.0 |
| " | win-test | v20.11.0 |
| mac-build | mac-test | ~~v18.16.0~~ v20.13.1 |
| linux-build | 3 machines | v18.16.1 |
| " | 2 machines using Firefox | v18.16.1 |
| " | 2 machines using Chrome | v18.16.1 |
| " | release | ~~v18.16.1~~ v20.13.1 |
Example https://app.circleci.com/pipelines/github/cypress-io/cypress-example-kitchensink/1877/workflows/83375a62-fec3-463a-b203-21c1e93101b7/jobs/12912
Installing NPM packages
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@eslint/[email protected]',
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/[email protected]',
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/1877/workflows/83375a62-fec3-463a-b203-21c1e93101b7/jobs/12912
Spin up environment
Build-agent version 1.0.240436-337823b8 (2024-06-14T15:58:15+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
Current setup
| Workflow | Job | Node.js | Determined by |
|---|---|---|---|
| win-build | win-test-firefox | v20.11.0 | executor win/default |
| " | win-test-chrome | v20.11.0 | " |
| " | win-test | v20.11.0 | " |
| mac-build | mac-test | ~~v18.16.0~~ v20.13.1 | executor mac |
| linux-build | 3 machines | v18.16.1 | executor cypress/default |
| " | 2 machines using Firefox | v18.16.1 | " |
| " | 2 machines using Chrome | v18.16.1 | " |
| " | release | ~~v18.16.1~~ v20.13.1 | node-version: '20.13.1' |
Expected result
.node-version is set to 20, so CircleCI jobs should also run in all workflows under Node.js 20