cypress-io / cypress-example-kitchensink

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

CircleCI bad engine warnings: node ^18.18.0 required #851

Closed MikeMcC399 closed 3 months ago

MikeMcC399 commented 3 months 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'

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/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/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

MikeMcC399 commented 3 months ago
MikeMcC399 commented 3 months ago
MikeMcC399 commented 3 months ago

The remaining issue concerns the following Workflow / Jobs:

Workflow Job Node.js Determined by
linux-build 3 machines v18.16.1 executor cypress/default
" 2 machines using Firefox v18.16.1 "
" 2 machines using Chrome v18.16.1 "
MikeMcC399 commented 3 months ago